为什么 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));
我正在从彼此中减去两个非常大的数字。然后我尝试将结果除以 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));