以下值给出了错误的精度。仅通过特定数字即可观察到这一点。可能是浮动表示问题,但想知道具体原因。
String m = "154572.49"; //"154,572.49";
Float f = Float.parseFloat(m);
System.out.println(f);
它打印的输出是154572.48
代替154572.49
.
如果您希望十进制数字与您在 Java 中输入的十进制数字完全一样,请使用大十进制 http://docs.oracle.com/javase/1.5.0/docs/api/java/math/BigDecimal.html而不是浮动。
浮点数对于小数来说本质上是不准确的,因为许多以十进制结尾的数字(例如 0.1)是二进制的重复数字,并且浮点数以二进制表示形式存储。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)