美文网首页
java Double计算出现精度问题

java Double计算出现精度问题

作者: 宽宽侠 | 来源:发表于2018-10-29 11:01 被阅读0次

    在使用double进行浮点数运算时会出现精度问题,因为这是科学计算得出的结果而不是我们想要的结果
    '''
    System.out.println(478d * 0.95d);
    结果
    454.09999999999997
    '''
    这是就要使用BigDecimal这个类进行计算了
    '''
    加法
    new BigDecimal(Double.toString(478d)).add(new BigDecimal(Double.toString(0.95d))).doubleValue()

    减法
    new BigDecimal(Double.toString(478d)).subtract(new BigDecimal(Double.toString(0.95d))).doubleValue()

    除法
    new BigDecimal(Double.toString(478d)).divide(new BigDecimal(Double.toString(0.95d))).doubleValue()

    乘法
    new BigDecimal(Double.toString(478d)).multiply(new BigDecimal(Double.toString(0.95d))).doubleValue()

    相关文章

      网友评论

          本文标题:java Double计算出现精度问题

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