- 浏览: 460909 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (369)
- javascript html (20)
- java (31)
- jquery (15)
- jcrop (0)
- JEECG (1)
- ajax (3)
- 反射 (3)
- VI (1)
- mysql (48)
- easyui (1)
- svn (2)
- MD5 加密 (1)
- spring (14)
- ORACLE (8)
- 经验总结 (1)
- TCP/IP协议 (1)
- ICMP协议 (1)
- eclipse (1)
- Reflect (1)
- linux (21)
- android (5)
- excel 操作 (1)
- java tree (1)
- html (1)
- plupload (1)
- mongodb (9)
- aes (1)
- python (1)
- java relax (1)
- highcharts (2)
- json (2)
- java 多线程 (30)
- maven (2)
- 设计模式 (1)
- jsp+js (2)
- 面向对象 (1)
- jvm (16)
- 缓存 (1)
- proxy (1)
- 聊侃 (1)
- 面经 (1)
- java 字节 (1)
- java 类加载器 (2)
- java 基础 (2)
- java 语法糖 (1)
- java 位运算 (1)
- 排序 (3)
- java 服务器性能优化 (19)
- 网络编程 (2)
- jvm 参数设置 (0)
- jersey (1)
- webservice (2)
- nginx+多tomcat 集成 (5)
- nginx (16)
- squid (3)
- memcached (5)
- 正则表达式 (1)
- 常用免费接口 (1)
- jpa (1)
- win7 (1)
- java处理大文件 (1)
- js正则表达式 (1)
- tomcat (1)
- java 敏感字 (1)
- 系统架构优化 (4)
- 学习 (1)
- 本地测试QQ微博第三方登陆 (1)
- java 错误 (1)
- 微信支付 (1)
- https (1)
- httpclient (1)
- awk (2)
- loadrunner (1)
- sql server 2008 (3)
- git (4)
- sql server2008 (1)
- solr (2)
- centos (1)
- 数据存储架构 (3)
- log4j (1)
- weboffice (1)
- 并发编程 (1)
- postgreSQL (0)
- ssl (1)
- openssl (1)
- activeMQ (2)
- IDEA (1)
- shell (1)
- ansible (4)
- docker (2)
- grafana (1)
- jmeter (1)
- TLS (1)
- 将博客搬至CSDN (1)
最新评论
-
dida1990:
啊喔,过去了这么久,不过还是评一个。谁说uuid的hashCo ...
高并发生成订单号(二) -
annan211:
yclovesun 写道使用了uuid,为什么还要machin ...
高并发生成订单号(二) -
yclovesun:
使用了uuid,为什么还要machineId?uuid已经可以 ...
高并发生成订单号(二) -
u013280917:
太深奥,看不懂
mysql优化特定类型的查询
/* * * * * 版权所有,并保留所有权利。 * */ package com.legendshop.util; import java.math.BigDecimal; /** * * * * 官方网站: * */ public class Arith { // 默认除法运算精度 /** The Constant DEF_DIV_SCALE. */ private static final int DEF_DIV_SCALE = 10; // 这个类不能实例化 /** * Instantiates a new arith. */ private Arith() { } /** * 提供精确的加法运算。. * * @param v1 * 被加数 * @param v2 * 加数 * @return 两个参数的和 */ public static double add(double v1, double v2) { BigDecimal b1 = new BigDecimal(Double.toString(v1));// 必须转换成String BigDecimal b2 = new BigDecimal(Double.toString(v2)); return b1.add(b2).doubleValue(); } /** * 提供精确的减法运算。. * * @param v1 * 被减数 * @param v2 * 减数 * @return 两个参数的差 */ public static double sub(double v1, double v2) { BigDecimal b1 = new BigDecimal(Double.toString(v1)); BigDecimal b2 = new BigDecimal(Double.toString(v2)); return b1.subtract(b2).doubleValue(); } /** * 提供精确的乘法运算。. * * @param v1 * 被乘数 * @param v2 * 乘数 * @return 两个参数的积 */ public static double mul(double v1, double v2) { BigDecimal b1 = new BigDecimal(Double.toString(v1)); BigDecimal b2 = new BigDecimal(Double.toString(v2)); return b1.multiply(b2).doubleValue(); } /** * 提供(相对)精确的除法运算,当发生除不尽的情况时,精确到 小数点以后10位,以后的数字四舍五入。. * * @param v1 * 被除数 * @param v2 * 除数 * @return 两个参数的商 */ public static double div(double v1, double v2) { return div(v1, v2, DEF_DIV_SCALE); } /** * 提供(相对)精确的除法运算。当发生除不尽的情况时,由scale参数指 定精度,以后的数字四舍五入。. * * @param v1 * 被除数 * @param v2 * 除数 * @param scale * 表示表示需要精确到小数点以后几位。 * @return 两个参数的商 */ public static double div(double v1, double v2, int scale) { if (scale < 0) { throw new IllegalArgumentException("The scale must be a positive integer or zero"); } BigDecimal b1 = new BigDecimal(Double.toString(v1)); BigDecimal b2 = new BigDecimal(Double.toString(v2)); return b1.divide(b2, scale, BigDecimal.ROUND_HALF_UP).doubleValue(); } /** * 提供精确的小数位四舍五入处理。. * * @param v * 需要四舍五入的数字 * @param scale * 小数点后保留几位 * @return 四舍五入后的结果 */ public static double round(double v, int scale) { if (scale < 0) { throw new IllegalArgumentException("The scale must be a positive integer or zero"); } BigDecimal b = new BigDecimal(Double.toString(v)); BigDecimal one = new BigDecimal("1"); return b.divide(one, scale, BigDecimal.ROUND_HALF_UP).doubleValue(); } // 最后我们利用BigDecimal提供的精确计算 /** * The main method. * * @param args * the arguments */ public static void main(String[] args) { // 直接使用浮点数进行计算,得到的结果是有问题的 System.out.println(0.01 + 0.05); // 使用了BigDecimal类进行计算后,可以做到精确计算 System.out.println(Arith.add(0.05, 0.01)); System.out.println(1.0 - 0.42); System.out.println(Arith.sub(1.0, 0.42)); System.out.println(4.015 * 100); System.out.println(Arith.mul(4.015, 100)); System.out.println(123.3 / 100); System.out.println(Arith.div(123.3, 100, 2)); /* * 0.060000000000000005 0.06 0.5800000000000001 0.58 401.49999999999994 * 401.5 1.2329999999999999 1.233 */ } }
发表评论
-
log4j.xml配置文件
2017-08-15 21:19 490<?xml version="1.0& ... -
java 实现多文件压缩导出操作
2017-06-26 14:28 6741 controller @RequestMapping ... -
java dos窗口打包
2017-02-17 19:22 603指定编码 cmd jar包 > jar -cvf xxx ... -
互联网面试实例
2016-12-01 22:34 01 hibernate 原理机制 2 解释1-2个你最熟悉 ... -
java 枚举 根据key获取value
2016-10-26 14:28 3828package com.utcip.crm.common.co ... -
高并发 生成订单号(一)
2015-12-08 15:31 40971 设置主键自增为何不可取 这样的话,数据库本身是单点, ... -
Java 实现深拷贝
2014-10-10 11:47 720http://developer.51cto.com/art/ ... -
如何计数一个字符在某个字符串中出现的次数?
2014-08-29 12:00 846如何计数一个字符在某个字符串中出现的次数? 使用 ... -
java 内部类作用分析
2014-08-25 13:46 466http://blog.csdn.net/ilibaba/ ... -
dos窗口 编译java工程
2014-07-22 11:54 338cd sts-web mvn jetty:run ... -
设计权限读写系统的思想
2014-05-26 18:54 799读写权限系统的设计 ... -
java 二进制十六进制互转
2014-05-26 15:15 1904/**将16进制转换为二进制 * @param hexS ... -
java 有小数时返回小数,无小数时返回整型
2014-05-22 15:42 1147/** * 对double类型数据操作 忽略. ... -
java 竟态条件与临界区
2014-05-20 15:15 1050竞态条件 & 临界区 当两个线程竞争同一资源 ... -
java web系统 cookie 管理
2014-05-16 16:56 1100第一步 写一个cookieUtil工具类 packa ... -
java 将 json字符串 返回到调用页面成为json
2014-05-15 18:35 1696@MethodResourceDesc(name = ... -
java 处理 大 json 字符串
2014-05-15 18:31 2555java 代码处理 json 字符串,存在很多种方法,最直接的 ... -
达内到底好不好? 达内培训怎么样? 达内培训效果如何? 达内培训出来好找工作吗?谁来为我负责?
2014-05-14 13:35 144达内到底好不好 达内培 ... -
java 实现生产者消费者模式
2014-05-09 10:20 1194package cosu_pro.pc; impor ... -
java 删除服务器附件
2014-03-19 12:06 580request.getSession().getSer ...
相关推荐
4. 确保转换后的单精度数据能正确表示原双精度数据的数值。 通过上述方法,S7-200 SMART PLC能够将复杂的双精度浮点数转换为更适合控制任务使用的单精度浮点数,从而提高程序的运行效率和控制精度。在自动化控制...
在MATLAB编程环境中,处理不同类型的数据是至关重要..."31 非double型数值-单精度浮点型数据类型.mp4"这个视频文件很可能是课程的关键教学内容,详细讲解了如何在实际操作中运用单精度数据类型进行各种计算和分析任务。
浮点型数据是计算机用来表示小数的类型,包括单精度浮点数(float)和双精度浮点数(double)。在C语言中,float占用4字节(32位),而double占用8字节(64位)。它们的值由一个符号位、指数部分和尾数部分组成,...
浮点型数据可以分为单精度(float或single)、双精度(double)和长双精度(long double)三类。根据IEEE 754标准,浮点型数据的二进制编码不同于整型数和字符型数。在C语言中,一般只涉及float类型和double类型数。...
java double:双精度浮点型
"C语言单精度浮点转换工具"是一款专为C语言开发者设计的小型实用程序,它能帮助将16进制32位数据转化为浮点数。这个功能在特定情况下非常有用,比如当开发者需要处理存储在内存或文件中的二进制浮点数据时。 首先,...
"8位16进制与浮点double的转换工具"是一个专为理解和操作二进制数据而设计的实用程序,尤其关注IEEE 754标准,这是现代计算机系统中浮点数的标准表示方式。以下是对这个工具和相关知识点的详细解释: 浮点数表示法...
而浮点类型,如float和double,是用于存储小数的数值类型,广泛应用于科学计算、图形处理等领域。了解和掌握十六进制与浮点类型的转换是每一位IT专业人员的基本技能。 十六进制是一种逢16进1的计数系统,使用16个...
双浮点型(double)是64位的浮点数,提供更高的精度。同样遵循IEEE 754标准,64位数据由1位符号位、11位指数位和52位尾数组成。转换过程类似于32位转浮点,只是涉及的位数更多,计算也更为复杂。 在编程语言如C、...
soft_double soft_double提供了64位双精度浮点数据类型的C ++软件实现。 一些编译器不支持内置的64位浮点类型,例如通常被称为double或long double 。 例如,通常用于Arduino等8位嵌入式系统或独立裸机AVR的avr-gcc...
在计算机科学中,数据通常以不同的进制表示,如十进制、十六进制等。在MATLAB和FPGA(Field Programmable Gate Array)设计中,理解和操作不同进制之间的转换是至关重要的。本文将详细讲解如何将十进制和十六进制...
`double`是C++、Java等编程语言中的一种数据类型,它用于表示带有小数部分的数值,通常可以精确到15位十进制数。然而,由于浮点数的二进制表示方式,当进行某些计算或转换时,可能会出现精度丢失的问题。标题提到的...
特别是在处理二进制数据或者进行低级编程时,了解如何将十六进制(HEX)转换为浮点数(float)或双精度浮点数(double)至关重要。这个"HEX-Float转换工具"就是这样一个实用程序,它帮助用户方便快捷地完成这种转换...
INT类型在S7-200SMART中通常用于存储整数值,而REAL类型则用于存储带有小数部分的浮点数值,适用于需要更精确计算的场合。 首先,我们需要了解S7-200SMART中的数据类型。INT数据类型占用两个字节(16位),其值范围...
4. **双精度(Double)**:双精度浮点数提供了更高的精度,范围大致在-2.2E308到1.8E308之间,占用8个字节。在需要更高精度或更大数值范围时,双精度是更好的选择。 5. **文本型(Text)**:文本型用于存储字符串...
在实际应用中,理解浮点型数据与IEEE754标准的转换非常重要,因为这有助于我们更好地理解和处理浮点数的精度问题、溢出和下溢等问题。例如,在网络传输、文件存储或者序列化过程中,可能需要将浮点数转换为二进制...
LabVIEW中的数据类型包含各种数值类型,如整型、单精度浮点、双精度浮点等。在进行16进制字符串到双精度浮点数的转换时,LabVIEW提供了相应的函数和VI(Virtual Instruments)来实现这一过程。这些函数通常会先将16...
双精度浮点数(Double Precision)是一种浮点数类型,它使用64位(8字节)存储一个数值,可以提供非常高的精度和广泛的数值范围。在二进制表示中,64位双精度浮点数遵循IEEE 754标准,其结构分为三个部分:符号位(1...
3. `long double`:长双精度浮点型,根据实现的不同,可能占用10或12个字节,提供最大的精度。 四、浮点型常量的类型 浮点型常量可以是上述三种类型的任何一种,但默认情况下,没有类型修饰符的浮点数被视为`...