fnumber.toFixed(2)并不总是将值截断为两个小数点

时间:2017-02-04 02:08:27

标签: javascript

可以采取哪些措施来防止出现在我的输出中?

这是我的javascript代码。

$("#TaskListing table tr td#Begin input").each(function (index, element) {           
  var theRow = $(element).parent().parent();
  var thePercent = $(theRow).children("tr td#Percent:first");
  currentvalue = $(theRow).data("millisecs");
  fnumber = currentvalue / totalTimeMs;
  thePercent.text( 100 * fnumber.toFixed(2));
});

我认为使用 fnumber.toFixed(2)会阻止这样的值( 28.0000000000004 )出现,但它们会不时出现。

enter image description here

2 个答案:

答案 0 :(得分:1)

将您的代码更改为使用toFixed,如下所示。

thePercent.text( (100 * fnumber).toFixed(2) );

您希望先执行计算,然后将其发送到toFixed()方法

答案 1 :(得分:0)

答案是使用thePercent.text((100 * fnumber).toFixed(2));

不确定与其他方法有什么问题,也许是.toFixed()的问题是不能使用重复分数表达的值。