js四舍五入和计算精度问题
业务背景
在电商网站中经常有金额的计算,但是在js中加减乘除的计算并不准确,比如:0.1+0.2 = 0.3000000000000004。那么势必会造成线上的事故,毕竟关于钱的事都是大事。
我们可以通过引入 mathjs 解决这个问题
计算精度问题(mathjs)
安装:npm install mathjs
引入和使用:
import * as math from 'mathjs';
let num = math.number(math.chain(math.bignumber(0.1))
.add(math.chain(math.bignumber(0.2))
.done());
// 0.3
常用方法:
| 方法名 | 方法 |
|---|---|
| 加 | add() |
| 减 | subtract() |
| 乘 | multiply() |
| 除 | divide() |
| 转变为数字类型 | number() |
| 转变为bigNumber | bignumber() |
| 链式调用 | chain() |

本文探讨了JavaScript中金额计算的精度问题,介绍了如何使用mathjs库解决浮点数运算误差,并提供无效解决方案的分析,最终提出有效方法——结合mathjs进行四舍五入,确保金额计算的准确性。
最低0.47元/天 解锁文章
508

被折叠的 条评论
为什么被折叠?



