黑马程序员技术交流社区
标题:
关于double类型数据的问题
[打印本页]
作者:
兜兜转转
时间:
2013-8-14 09:45
标题:
关于double类型数据的问题
本帖最后由 兜兜转转 于 2013-8-15 08:58 编辑
double i = 2.1;
double j = 3.0;
System.out.println(i*j);
复制代码
执行结果怎么是6.300000000000001啊?
今天在用AWT写个简单计算器的时候,东西写出来了,但在测试的时候发现的小bug?这个是怎么回事呢?正常不是6.3吗?
作者:
yan
时间:
2013-8-14 09:51
double是浮点数,它的小数点的位置是“浮动”的,所以很难说double类型能精确到小数点后面几位。通常这个关于精度的问题都是通过它能表示的有效数字(十进制)的位数来表示的。
遵循IEEE标准的8字节(64位)的double能表示的有效数字的位数是:15 ~ 16。
作者:
李永康
时间:
2013-8-14 10:30
精度丢失,小数计算时。就比如3.0/3!=1 一个道理.
作者:
张玉建
时间:
2013-8-15 00:47
双精度
System.out.println(Double.MAX_VALUE) ;
System.out.println(Double.MIN_VALUE);
这两行代码,直接可以求出double的取值范围,
他的范围一取出你就知道为什么了!
作者:
EYE_SEE_YOU
时间:
2013-8-15 06:52
浮点数问题
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2