美文网首页
Java 小数的计算

Java 小数的计算

作者: 是leee啊 | 来源:发表于2019-10-21 22:10 被阅读0次

今天遇到一个问题:

var a = 0.3 === 0.1 + 0.2 ;

打印a输出居然为false,

在Java代码里,

boolean a = 0.3 == 0.1 + 0.2;

打印a也输出为false


查了一下Java浮点数的表示,对于0.1来说就是1/10。

十进制0.1=> 二进制0.00011001100110011…(循环0011)

十进制0.2=> 二进制0.0011001100110011…(循环0011)

= 0.01001100110011001100110011001100110011001100110011001100

转换成10进制之后得到:0.30000000000000004


所以遵守开发规范,float和double存储的时候,存在精度损失的问题。小数类型用decimal,如果存储范围超过decimal,将数据拆为整数和小数分开存储。

相关文章

网友评论

      本文标题:Java 小数的计算

      本文链接:https://www.haomeiwen.com/subject/wopxvctx.html