java 浮点类型加减有误
来源:互联网 发布:无线mesh网络 编辑:程序博客网 时间:2024/05/16 04:50
在java中
double b=0.0002;
double b2=0.0001;
System.out.println(b+b2);
会出现什么?0.0003?不不不,会出现3.0000000000000003E-4
这是因为计算机是通过二进制操作的,10进制转换成2进制的时候小数位精度会丢失,会出现无限小数,
类似于10进制的 1/3 会出现0.333333333333333.................
所以要求精准的话会用 BigDecimal 数据包装类操作数据
BigDecimal d1=new BigDecimal("10");
注意这个构造函数要用string,如果用double 0.0003,还是会出现无限小数这不是因为BigDecimal 而是因为double 0.0003本身就是会出现精度问题。
阅读全文
1 0
- java 浮点类型加减有误
- java处理浮点类型的加减乘除法出现小数点精度错乱的解决方法
- java浮点类型
- java 浮点类型计算
- java 浮点类型的四舍五入
- Java基本数据类型-浮点类型
- 浮点数是有误差的
- java的整数类型,浮点类型,字符类型
- Java基础--基本数据类型(浮点类型)
- java核心技术之-----整形和浮点类型
- java float double类型做小数点加减运算不准确
- java float double类型做小数点加减运算不准确
- java对Date类型时间的直接加减操作
- java 两个Double类型的数值之间的加减操作
- 浮点类型
- 浮点类型
- 浮点类型
- DATE类型的加减
- Web Service实践之REST vs RPC(转)
- SQL-CASE
- C#中HttpWebRequest性能问题
- triangle(三角形)——leetcode
- Angular CLI 安装
- java 浮点类型加减有误
- 简易设置滚动广告
- python资料看过来看过来给你一个学习的机会你来吗?
- MAC-查看端口
- shell 中的 eval
- 正则表达式
- 智能传感器之功耗优化原则
- 蓝桥杯java第六届决赛第三题--显示二叉树
- Nginx的启动、停止与重启