您的位置:首页 > Web前端 > JavaScript

javascript数值四则运算精度修正函数

2008-10-12 02:17 411 查看
/* 

 * 四则运算精度修正函数

 * 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, '-')
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript c string