我已经试验过 float 和 double 类型有什么问题,在 Java System.out.print(1-.6) 中打印 .4 并且在 System.out.print( 1-.7).如果有人能够指导我找到一些解释为什么会发生这种情况的资源,那将会很有帮助。我假设它不是特定于 Java 的,而是这些类型存在固有的错误。
谢谢!
最佳答案
Java 中的实际类型是 IEEE754 single and double precision floating point notation 的实现.这些是实数的近似值而不是精确表示。一些实数如 0.8 无法准确表示。
关于java - 货币值的 Float 和 Double,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4354710/