美文网首页
JS中Float类型加减乘除

JS中Float类型加减乘除

作者: 未来已来_920f | 来源:发表于2019-01-23 11:35 被阅读0次

    //浮点数加法运算

    functionFloatAdd(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;

    }

    //浮点数减法运算

    functionFloatSub(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((arg1*m-arg2*m)/m).toFixed(n);

    }

    //浮点数乘法运算

    functionFloatMul(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){}

        returnNumber(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m);

    }

    functionFloatDiv(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);

        }

    }

    相关文章

      网友评论

          本文标题:JS中Float类型加减乘除

          本文链接:https://www.haomeiwen.com/subject/vkdjjqtx.html