javaScriptde decimal.js库怎么控制数字的精度
function round(x, y) {
const a = new Decimal(x).round();
Decimal.set({ precision: 2, rounding: y });
return a;
}
console.log(round("1235.1235", 1).valueOf()); // 1235
上边是代码,不知道问题出在哪里
javaScriptde decimal.js库怎么控制数字的精度
function round(x, y) {
const a = new Decimal(x).round();
Decimal.set({ precision: 2, rounding: y });
return a;
}
console.log(round("1235.1235", 1).valueOf()); // 1235
上边是代码,不知道问题出在哪里
由于js是一种弱类型语言,而计算机能够读取的数字只有0&1,所以一些浮点数会转换成0&1后再进行运算,所以会出现这种精度丢失的问题,我目前了解到的有三种方式:
1.bignumber.js 通过这个js库来进行计算;
2.将需要运算的数进行乘以10的n次幂,运算之后再去处以10的n次幂,即可得到准确的数字;
3.对运算后的数进行toFixed(),但是这种方法一样会丢失精度,不推荐使用;
4.纯手打,望采纳
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
你没有说想要的结果是什么。
看了下文档感觉round的作用就是取整吧。
如果要实现控制位数的话,用toExponential, toFixed和toPrecision方法吧。