舍入函数给出不同的结果

时间:2019-06-27 11:33:36

标签: javascript

我有下面这段代码,它将值四舍五入到小数点后两位。但是当我有以下论点时,它给出的是NaN。

function roundToTwo(num) {
  return +(Math.round(num + "e+2") + "e-2");
}

let result = roundToTwo((171 * 0) - (-8.881784197001252e-16));

console.log(result);

预期- 8.88 ,但给出 NaN

1 个答案:

答案 0 :(得分:-1)

这是因为您尝试使用round()中的字符串进行数学运算。例如:5 +“ e + 2”将给出字符串“ 5e + 2”作为结果。