首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

JS处置加减乘除误差较大

2012-11-04 
JS处理加减乘除误差较大function sub(arg1, arg2) {var r1, r2, m, ntry { r1 arg1.toString().split(

JS处理加减乘除误差较大

    function sub(arg1, arg2) {        var r1, r2, m, n;        try { r1 = arg1.toString().split('.')[1].length } catch (e) { r1 = 0 }        try { r2 = arg2.toString().split('.')[1].length } catch (e) { r2 = 0 }        m = Math.pow(10, Math.max(r1, r2));        //动态控制精度长度        n = (r1 >= r2) ? r1 : r2;        return parseFloat(((arg1 * m - arg2 * m) / m).toFixed(n));    }    //加法    function add(arg1, arg2) {        var r1, r2, m;        try { r1 = arg1.toString().split('.')[1].length } catch (e) { r1 = 0 }        try { r2 = arg2.toString().split('.')[1].length } catch (e) { r2 = 0 }        m = Math.pow(10, Math.max(r1, r2))        return (arg1 * m + arg2 * m) / m    }    //乘法    function mul(arg1, arg2) {        var m = 0, s1 = arg1.toString(), s2 = arg2.toString();        try { m += s1.split('.')[1].length } catch (e) { }        try { m += s2.split('.')[1].length } catch (e) { }        return Number(s1.replace('.', '')) * Number(s2.replace('.', '')) / Math.pow(10, m)    }    //除法    function div(arg1, arg2) {        var t1 = 0, t2 = 0, r1, r2;        try { t1 = arg1.toString().split('.')[1].length } catch (e) { }        try { t2 = arg2.toString().split('.')[1].length } catch (e) { }        with (Math) {            r1 = Number(arg1.toString().replace('.', ''))            r2 = Number(arg2.toString().replace('.', ''))            return (r1 / r2) * pow(10, t2 - t1);        }    }
?

热点排行
Bad Request.