如何在Java中显示十进制数?

-5 java android

我使用float来显示十进制数字,但有时它不会显示正确的结果.

例如,对于6.2/1000,结果为0.0061999997.

我知道为什么会这样,但我想知道有没有办法显示正确的结果,在这种情况下,0.0062?

编辑: 如何在Java中将数字舍入到n个小数位不能回答我的问题,那么为什么你在其他地方已经回答了我的问题?

我写的数字只是一个例子.在应用程序中,用户可以输入任意数字并将其与任何其他数字相乘或相乘,因此结果可能没有任何小数点,也许它将有4位小数,也许它将有7位小数,...

Jon*_*eet 7

首先,你要明白,这不仅仅是一个显示的问题-如果你想避免显示不正确的值,它有助于开始与正确的价值观.

你应该使用BigDecimal而不是float.它将值存储为由10倍exp表示的整数,而不是由and 使用的2 exp.doublefloat

如果BigDecimal.toString没有按您希望的方式格式化结果,请使用它DecimalFormat来执行格式化.