• js Float 精度


    1.加法

    //加法
    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
    }

    2.减法

    //减法
    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);
    }
    }

    3.乘法

    //乘法
    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)
    }

    4.除法

    //除法
    function subtr(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));
         //last modify by deeka
         //动态控制精度长度
         n=(r1>=r2)?r1:r2;
         return ((arg1*m-arg2*m)/m).toFixed(n);
    }

    5. js保留2位小数(强制)

    // js保留2位小数(强制)
    function changeTwoDecimal_f(x)
    {
    var f_x = parseFloat(x);
    if (isNaN(f_x))
    {
    alert('function:changeTwoDecimal->parameter error');
    return false;
    }
    var f_x = Math.round(x*100)/100;
    var s_x = f_x.toString();
    var pos_decimal = s_x.indexOf('.');
    if (pos_decimal < 0)
    {
    pos_decimal = s_x.length;
    s_x += '.';
    }
    while (s_x.length <= pos_decimal + 2)
    {
    s_x += '0';
    }
    return s_x;
    }
  • 相关阅读:
    不装.net Framework 也能运行WinForm程序,用飞信(转)
    hdu 1058 Humble Numbers
    c# winform 应用编程代码总结 2
    c# winform 应用编程代码总结 1
    c# winform 应用编程代码总结 4
    住在我隔壁储藏室的大学刚毕业的小夫妻(震撼,转贴)

    CEGUI 0.6.0 Released!
    my ogre plugin for 3dmax
    卡通渲染进阶 = toonlighting + outline + rimlighting + hair specular
  • 原文地址:https://www.cnblogs.com/gaobing/p/3877802.html
Copyright © 2020-2023  润新知