美文网首页
js计算浮点数(小数)时不准确的原因及解决方案

js计算浮点数(小数)时不准确的原因及解决方案

作者: AAA前端 | 来源:发表于2019-05-09 16:51 被阅读0次

我们在工作中有时候会需要对浮点数进行运算,但是最后的结果有时候不是我们想要的结果,比如

image.png

原因:

计算机编程语言里浮点数计算会存在精度丢失问题(或称舍入误差),其根本原因是二进制和实现位数限制有些数无法有限表示

以下是十进制小数对应的二进制表示

  •  0.1 >> 0.0001 1001 1001 1001…(1001无限循环)
    
  •  0.2 >> 0.0011 0011 0011 0011…(0011无限循环)
    

计算机里每种数据类型的存储是一个有限宽度,比如 JavaScript 使用 64 位存储数字类型,因此超出的会舍去。舍去的部分就是精度丢失的部分。

解决方案
先把小数扩大10的倍数,转为整数进行计算,计算好之后再缩写扩大的倍数就可以解决了

来源: https://www.cnblogs.com/shiyou00/p/6872517.html

相关文章

  • js计算浮点数(小数)时不准确的原因及解决方案

    我们在工作中有时候会需要对浮点数进行运算,但是最后的结果有时候不是我们想要的结果,比如 原因: 计算机编程语言里浮...

  • js浮点数计算bug

    在js中,带小数的数据运算时可能会出现好多位小数。这是因为在js中浮点数的计算是以2进制计算的。解决办法就是先转成...

  • 解决js浮点数运算不准确的函数

    针对:js在浮点数运算时会出现多位小数的不准确结果 乘法运算函数 原理:给两个数计算小数点后边的位数和M,在清除小...

  • js浮点数运算问题--莫名出现多位小数

    问题:js浮点数运算时,莫名出现多位小数 原因:这是由于在运算的时候先把浮点数转化成二进制后进行运算,但是有的小数...

  • 第11章 编写精确代码所需编码准则

    11.1 计算机并不如想象得那么精确 数字电路机器无法准确表示小数。 11.2 需要进行精确计算时避开浮点数运算 ...

  • 个人代码库-待更新

    JS 浮点数相加不精确解决 浮点数取两位小数 css 内计算 input 按钮美化(input 上传框美化实例)

  • 数字类型丨2.16

    整数 与数学整数相同 pow(x, y) 计算x的y次幂 浮点数 与数学实数相同 带有小数点及小数的数字,浮点数必...

  • Javascript 盲点

    1.javestript 中所有的数字都是浮点型 js在浮点数运算时会出现多位小数的不准确结果,浮点数运算的误差。...

  • python3学习笔记:执行精确的小数计算

    问题 我们需要对小数进行精确计算,不希望因为浮点数天生的误差而带来影响 解决方案 使用decimal模块,牺牲一些...

  • js精度问题

    关于js浮点数计算精度不准确问题的解决办法 今天在计算商品价格的时候再次遇到js浮点数计算出现误差的问题,以前就一...

网友评论

      本文标题:js计算浮点数(小数)时不准确的原因及解决方案

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