java - 货币值的 Float 和 Double

标签 java floating-point double currency

我已经试验过 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/

相关文章:

java - 是否有 BigDecimal 上的 Square Root 库?

java - 声纳显示不良实践方法可能无法在异常时关闭流

java - 如何不混淆 0 和取消按钮 JoptionPane

java - 动态读取 Hibernate 配置

ruby - 截断 float 而不向上舍入

java - Java中的整数除法

c - 在 C 中将字节数组转换为 float/long 的问题

java - 这是根据规范进行的 Java 双重解析行为吗?

java - 将字符串乘以 double

c++ - 浮点加法不包括小数C++