美文网首页
JS的计算时精度丢失问题

JS的计算时精度丢失问题

作者: yunshengz | 来源:发表于2021-03-10 11:06 被阅读0次
精度丢失主要有是哪方面
1.小数计算

如:0.1+0.2 !== 0.3;0.1*0.2 !== 0.03;

2.大数计算

如:9999999999999999 === 10000000000000001;

3.toFixed()四舍五入不准

如:1.335.toFixed(2) // 1.33;1.336.toFixed(2) // 1.34;

计算不准确的原因

二进制模仿十进制进行四舍五入,而二进制只有0和1,于是就0舍1入,于是就导致了小数计算不精确。大数的精度丢失本质上是和小数一样,js中表示最大的数是Math.pow(2, 53),十进制即 9007199254740992;大于该数的值可能会丢失精度。

怎么解决

小数的话,一般转成整数进行计算,然后对结果做除法;同样也可以直接对结果进行4舍5入;
对于大数出现的问题概率较低,毕竟还要运算结果不超过最大数就不会丢失精度;

参考来源

javaScript数字精度丢失问题总结
js中精度问题以及解决方案
JavaScript 中精度问题以及解决方案

相关文章

  • JS的计算时精度丢失问题

    精度丢失主要有是哪方面 1.小数计算 如:0.1+0.2 !== 0.3;0.1*0.2 !== 0.03; 2....

  • js计算丢失精度

    版权声明:本文为CSDN博主「Black毒药」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处...

  • 2018-11-04-1

    java double计算精度问题 double计算防止精度丢失:方案:将double转成bigDecimalSy...

  • 工作中遇到的坑

    js错误: js比较错误 Java错误: 使用BigDecimal进行精度操作时double转int异常或丢失精度...

  • 关于BigDecimal

    使用double和float计算时会造成精度丢失的问题 要进行计算要用BigDecimalBigdecimal a...

  • JavaScript计算丢失精度问题

    js中计算 解决上述问题,找到了一个最简便的方法 https://blog.csdn.net/zf18234031...

  • decimal.js的简单封装

    js的计算有精度问题,在业务处理中总是会出现莫名其妙的数据,在这里我们使用decimal.js解决计算精度问题。然...

  • js数字精度丢失问题

    一、JS数字精度丢失的一些典型问题 1. 两个简单的浮点数相加1 0.1 + 0.2 != 0.3// true ...

  • JAVA/JS 精度丢失问题

    在JAVA和JS浮点型数值直接计算中,经常会出现一些精度丢失的情况。 JAVA和JS采用的是IEEE 754规范,...

  • javascript中关于浮点数的处理

    解决四维运算,js计算失去精度的问题 使用方法

网友评论

      本文标题:JS的计算时精度丢失问题

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