js 小数如何比较大小

parseFloat

  • 将它的字符串参数解析成为浮点数并返回。如果在解析过程中遇到了正负号(+ 或 -)、数字 (0-9)、小数点,或者科学记数法中的指数(e 或 E)以外的字符,则它会忽略该字符以及之后的所有字符,返回当前已经解析到的浮点数。同时参数字符串首位的空白符会被忽略。
  • if(parseFloat(val.toString()) >parseFloat('100')) {}

封装数据处理函数

点击查看代码

function MathFloatNumber(val1,val2,type){                     //val1:浮点数1      val2:浮点数2     type:运算类型(+,-,*,/,=)
           let intnumber1=String(val1).split('.')[1].length                    //浮点数转string并获取小数点后面位数
           let intnumber2=String(val2).split('.')[1].length        //浮点数转string并获取小数点后面位数
           let biglength=Math.pow(10,(intnumber1>intnumber2?intnumber1:intnumber2))        //得到小数点位数多的数,计算浮点数转为整数的位数   (10的位数次方)
           let bigval1=val1*biglength             //得到放大倍数的浮点数1
           console.log(biglength)
           let bigval2=val2*biglength           //得到放大倍数的浮点数2
            switch(type){
                case 1:    //加法
                    return (bigval1+bigval2)/biglength                /  
                    break
                case 2:    //减法
                    return (bigval1-bigval2)/biglength
                    break
                case 3:    //乘法
                    return (bigval1*bigval2)/(biglength*biglength)
                    break
                case 4:    //除法
                    return (bigval1/bigval2).toFixed(3)
                    break
                case 5:
                    return bigval1===bigval2
                    break
                default:
                    console.log('类型错误')
            }
        }
        // var a=MathFloatNumber(0.1,0.05,2)
        // console.log(a)
        console.log(MathFloatNumber(MathFloatNumber(0.1,0.2,1),0.3,5))                     //  判断(0.1+0.2==0.3)等于true

eval()函数:它用于在不引用任何特定对象的情况下计算代码字符串。

  • if (eval(a) <= eval(b))
posted @ 2023-02-23 10:09  Rain1112022  阅读(901)  评论(0)    收藏  举报