.toFixed()不起作用

时间:2012-10-09 10:49:09

标签: javascript

我正在使用此代码

$('tr').each(function () {
                var td = $(this).children('td').eq(1);
                var val = td.html();
                if (val > 1000) {

                    var fixedVal = parseFloat(parseFloat(val).toFixed(3));
                    td.html(fixedVal / 1000 + " KM");
                }
                else {
                    td.html(Math.round(val) + " M");
                }
            });

然而我获得了像

这样的价值观
3.5101280000000004 KM
8761.596300000001 KM

问题是.toFixed()无法正常工作。

1 个答案:

答案 0 :(得分:3)

首先修复数字,然后将其除以 1000 ,这会创建一个新的浮点数。请改为在toFixed行中致电.html()

var fixedVal = parseFloat( val );
td.html( (fixedVal / 1000).toFixed( 3 ) + " KM" );