// 精准运算(加、减、乘、除)
export const jzCalculate = (num1, num2, symbol, tofixed) => {
let str1 = num1.toString();
let str2 = num2.toString();
let result, len1, len2, step;
try {
len1 = str1.split(".")[1].length;
} catch (e) {
len1 = 0;
}
try {
len2 = str2.split(".")[1].length;
} catch (e) {
len2 = 0;
}
step = Math.pow(10, Math.max(len1, len2));
let a = parseInt(num1 * step);
let b = parseInt(num2 * step);
switch (symbol) {
case "+":
result = (a + b) / step;
break;
case "-":
result = (a - b) / step;
break;
case "*":
result = (a * b) / step / step;
break;
case "/":
result = a / b;
break;
default:
break;
}
if (tofixed) {
return result.toFixed(tofixed);
}
return result;
};
js小数计算精度丢失问题解决(加、减、乘、除)
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 'use strict'; import moment from 'moment' /** *公共方法类库 */ ...