我使用float来显示十进制数字,但有时它不会显示正确的结果.
例如,对于6.2/1000,结果为0.0061999997.
我知道为什么会这样,但我想知道有没有办法显示正确的结果,在这种情况下,0.0062?
编辑: 如何在Java中将数字舍入到n个小数位不能回答我的问题,那么为什么你在其他地方已经回答了我的问题?
我写的数字只是一个例子.在应用程序中,用户可以输入任意数字并将其与任何其他数字相乘或相乘,因此结果可能没有任何小数点,也许它将有4位小数,也许它将有7位小数,...
首先,你要明白,这不仅仅是一个显示的问题-如果你想避免显示不正确的值,它有助于有开始与正确的价值观.
你应该使用BigDecimal而不是float.它将值存储为由10倍exp表示的整数,而不是由and 使用的2 exp.doublefloat
如果BigDecimal.toString没有按您希望的方式格式化结果,请使用它DecimalFormat来执行格式化.
| 归档时间: |
|
| 查看次数: |
224 次 |
| 最近记录: |