方法 一:
// num 是数值,decimals是精度几位
function round(num, decimals) {
const factor = Math.pow(10, decimals);
return Math.round(num * factor) / factor;
}
const a = 0.1;
const b = 0.2;
console.log(round(a + b, 1)); // 0.3
方法 二:
//可以传你要的小数几位
let num = 2
const a = 0.1;
const b = 0.2;
console.log((a+b).toFixed(num)); // 0.30
方法 三:扩大运算范围:将浮点数转化为整数,相乘或相加后再除回去,可以避免小数位精度的影响。文章来源:https://www.toymoban.com/news/detail-594546.html
let num1 = 0.1;
let num2 = 0.2;
let sum = (num1 * 10 + num2 * 10) / 10;
console.log(sum); // 0.3
最后就是使用第三方库:例如 decimal.js、big.js 等第三方库可以提供更高精度的浮点数运算。文章来源地址https://www.toymoban.com/news/detail-594546.html
到了这里,关于Vue 数字相加、相减精度丢失处理。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!