双重计算产生奇怪的结果

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



慕勒3428872
浏览 554回答 3
3回答

米琪卡哇伊

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

动漫人物

这是一些分数形式的计算机表示的常见陷阱,有关浮点精度的信息,请参见此问题或google 。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java