JavaScript 四则运算精度修正函数实现与用法

作者:木棉时间:2026-10-24 22:56:48浏览:356

本文介绍一个用于修正JavaScript中加减乘除运算精度丢失问题的自定义函数fixMath。该函数通过识别操作数的小数位数,动态调整计算精度,分别处理加减乘除四种运算,确保返回结果符合预期精度要求,适用于对数值计算准确性有较高要求的场景。

JavaScript 四则运算精度修正函数实现

以下是该函数的具体代码实现:


具体代码如下:

 
/* 
* 用于修正四则运算中的精度问题函数
* m 第一个数值参数,类型为 number
* n 第二个数值参数,类型为 number
* op 运算操作符,类型为 string
*/ 
function fixMath(m, n, op) {
var a = (m + " ");
var b = (n + " ");
var x = 1;
var y = 1;
var c = 1;
if (a.indexOf(".") > 0) {
x = Math.pow(10, a.length - a.indexOf(".") - 1);
} 
if (b.indexOf(".") > 0) {
y = Math.pow(10, b.length - b.indexOf(".") - 1);
} 
switch (op)
{ 
case '+ ':
case '- ':
c = Math.max(x, y);
m = Math.round(m * c);
n = Math.round(n * c);
break;
case '* ':
c = x * y
m = Math.round(m * x);
n = Math.round(n * y);
break;
case '/ ':
c = Math.max(x, y);
m = Math.round(m * c);
n = Math.round(n * c);
c = 1;
break;
} 
return eval("(" + m + op + n + ")/ " + c);
} 


函数调用示例

函数的使用示例如下:


调用示例代码如下:

 
fixMath(2.3, 1.9, '* ')
fixMath(1.98, 1.9, '- ')
fixMath(83.50, 74.15, '- ')
作者最新文章