黑马程序员技术交流社区

标题: 浮点型数据自增出现的一个问题 [打印本页]

作者: rickyli    时间: 2015-10-31 10:20
标题: 浮点型数据自增出现的一个问题
double d=3.0;
d++;
结果d==4.0

如果d=3.14;
d++;
结果d等于 4.140000000000001

不知道这个4.14后面这么多小数是怎么出来的
我试了一下 如果是三位小数又是正常的 比如d=3.141 d++ d就等于4.141

求解释
作者: 13533258481    时间: 2015-10-31 11:14
我也不清楚  求大神解答
作者: xiaolang110    时间: 2015-10-31 13:37
哪位大神帮帮忙吧。这个真不会
作者: 大自然的搬运工    时间: 2015-10-31 18:47
这就是常说的double损失精度的问题,原先看到过,当时理解了,现在忘了,大意就是说double表示小数的时候可能会有精度问题,计算有误差。不想损失精准的计算可以使用BigDecimal类。。具体为什么损失精度楼主还是自己查查去吧。
作者: jlq    时间: 2015-10-31 18:50
精度转换问题 ,看看
作者: rickyli    时间: 2015-11-5 23:54
我顶一下~~~




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2