javascript 四则运算精度修正函数代码_javascript技巧
程序员文章站
2022-05-10 18:54:15
...
函数代码如下:
/*
* 四则运算精度修正函数
* m 数值1(number)
* n 数值2(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, '- ')
复制代码 代码如下:
/*
* 四则运算精度修正函数
* m 数值1(number)
* n 数值2(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, '- ')
下一篇: Session保存到Memcache
推荐阅读
-
javascript下搜索子字符串的的实现代码(脚本之家修正版)_javascript技巧
-
javascript 格式化时间日期函数代码脚本之家修正版
-
JavaScript中URL编码函数代码_javascript技巧
-
javascript 格式化时间日期函数代码脚本之家修正版
-
按下回车键指向下一个位置的一个函数代码_javascript技巧
-
js 数值项目的格式化函数代码_javascript技巧
-
利用函数的惰性载入提高javascript代码执行效率_javascript技巧
-
让回调函数 showResponse 也带上参数的代码_javascript技巧
-
JavaScript中调用函数的4种方式代码实例_javascript技巧
-
增强的 JavaScript 的 trim 函数的代码_javascript技巧