为什么 NodeJS 将数字视为整数?

Why does NodeJS treat a number as an integer?

我正在从彼此中减去两个非常大的数字。然后我尝试将结果除以 1000.0,将毫秒转换为秒。由于我以外的原因,我失去了小数点。有人可以解释一下为什么吗?

let intervalMs = (interval.toMs - interval.fromMs) // Two big numbers
console.log(intervalMs) // Prints "43200000"
let intervalSec = intervalMs / 1000.0
console.log(intervalSec) // Prints "43200" ?!?!

我还尝试将 intervalMs“转换”为一个数字:

let intervalMs = Number(interval.toMs - interval.fromMs)

但是结果是一样的

那是因为小数等于 0,尝试除以 3003 你会得到小数。

要获得 0 位小数,请使用:

console.log(intervalSec.toFixed(10));