关于parseFloat精确小数位数问题

nd | | 访问(219)

  今天测试系统时,两个数进行合计竟然出现了113.32000000000002,网上看了看关于parseFloat函数的帖子,发现别人也遇到过跟我一样的问题,描述一下sum=parseFloat(num1)+parseFloat(num2),这个个sum=113.32000000000002,最后用了个Math.round(sum* 100)/100,解决问题,精确到两位。Math.floor()将小数全部截去,呵呵,挺有意思。

function returnFloat(value) {
    var value = Math.round(parseFloat(value) * 100) / 100;
    var xsd = value.toString().split(".");
    if (xsd.length == 1) {
        value = value.toString() + ".00";
        return value;
    }
    if (xsd.length > 1) {
        if (xsd[1].length < 2) {
            value = value.toString() + "0";
        }
        return value;
    }
}