美文网首页
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