当我这样做时,例如,14 * 0.2,我得到2.8000000000000003而不是2.8 为什么会这样做,我该如何解决?
根据this页面,字符串自动关闭尾随0,所以我尝试了
var foo = 14 * 0.2;
console.log(foo.toFixed(3).toString());
但它仍然以尾随0(2.800)返回。
答案 0 :(得分:1)
我认为String
不会削减尾随0s
,但是如果你将其转换为数字,那么它将忽略小数点后的0s
尾随。
var foo = 14 * 0.2;
console.log(+foo.toFixed(3));
答案 1 :(得分:0)
您对toFixed
函数的调用将返回String
,而不是某种数字。此String
表示在documentation中特别提及具有尾随零。下一次调用toString
根本无效。