您的当前位置:首页正文

使用double类型进行简单的运算,结果出现了很多位小数

2024-11-11 来源:个人技术集锦

原因: 二进制不能准确的表示十进制的浮点数. 由十进制转换二进制的方法可以知道: 如果最后一位不是0或5,长度是无限的.
解决: 转为bigdecimal进行运算.

再详尽一些的原因和示例: EffectiveJava中是这样写的.

第60条: 如果需要精确的答案,请避免使用float和double:

显示全文