关于0.1+0.2!=0.3浮点数解决方法

方法一:使用github上的库:BigDecimal.jsbignumber.js

 

方法二:使用简单点四舍五入方法,其实跟上面的方法差不多,只不过取了一个10位小数

function numTofixed(num) {
    if (typeof num == 'number') {
        num = parseFloat(num.toFixed(10))
    }
    return num;
}
numTofixed(0.1 + 0.2);

方法三:

function fixFloatCalcRudely(num){
    if(typeof num == 'number'){
        var str=num.toString(),
            match=str.match(/\.(\d*?)(9|0)\2{5,}(\d{1,5})$/);
        if(match != null){
            return num.toFixed(match[1].length)-0;
        }
    }
    return num;
}

 

posted @ 2018-04-02 22:08  hsp大鹏  阅读(1489)  评论(0编辑  收藏  举报