为了账号安全,请及时绑定邮箱和手机立即绑定

双重计算产生奇怪的结果

双重计算产生奇怪的结果

慕勒3428872 2019-12-06 10:53:25
我有2个数字存储为Double,1.4300和1.4350。当我减去1.4350-1.4300时,结果为:0.0050000000000001155。为什么将1155加到末尾,如何解决这个问题,使其返回0.005或0.0050?我不确定四舍五入是否会有效,因为我正在处理2和4个十进制数字。
查看完整描述

3 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

对于非常精确的浮点计算,Double不是正确的类型,如果要获得精确的结果,则必须使用BigDecimal。


查看完整回答
反对 回复 2019-12-06
?
动漫人物

TA贡献1815条经验 获得超10个赞

这是一些分数形式的计算机表示的常见陷阱,有关浮点精度的信息,请参见此问题或google 。


查看完整回答
反对 回复 2019-12-06
  • 3 回答
  • 0 关注
  • 546 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信