美文网首页
程序语言浮点数运算问题

程序语言浮点数运算问题

作者: 渭小粉 | 来源:发表于2019-01-11 18:24 被阅读0次

    在程序语言当中,一些数是无法通过浮点数来精确表示的,如 0.1 * 3,可能你会预料到得到的结果是0.3,然而现实很残酷,你会得到如下的这个答案

    0.30000000000000004,浮点数运算是根据二进制算法来进行计算的,所以并不某种语言特有的结果。

    当出现上述情况的时候,一般情况下,我们可以通过程序语言强制转换、保留有效小数点等措施来去除末尾的多个0,在一般情况下,是不会影响程序的正常执行的。

    当然,如果这些类似于银行这样的系统当中,一丝一毫的差错都是不能有的,所以,这个时候(以java说明),应该使用BigDecimal类型来替代基本类型,从BigDecimal的源代码中可以知道,从构造参数众传入的数一定要是字符串,否则仍然会以基本类型来处理!

    相关文章

      网友评论

          本文标题:程序语言浮点数运算问题

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