最近在前端项目中遇到js在操作小数进行加减乘除时,会丢失精度,解决该问题可以使用工具方法进行加减乘除操作,工具方法如下:
//加法
export function addNum(num1, num2) {
var baseNum, baseNum1, baseNum2;
try {
baseNum1 = num1.toString().split(".")[1].length;
} catch (e) {
baseNum1 = 0;
}
try {
baseNum2 = num2.toString().split(".")[1].length;
} catch (e) {
baseNum2 = 0;
}
baseNum = Math.pow(10, Math.max(baseNum1, baseNum2));
return (numMulti(num1,baseNum) + numMulti(num2,baseNum)) / baseNum;
}
//减法
export function minusNum(num1,num2){
var r1,r2,m,n;
try{
r1 = num1.toString().split(".")[1].length
}catch(e){
r1 = 0
}
try{
r2 = num2.toString().split(".")[1].length