【发布时间】:2018-08-05 12:16:34
【问题描述】:
我正在尝试将 MySQL BigInt 最大值 (18446744073709551615) 存储到 javascript 变量中,但是当我这样做时,值更改为 18446744073709552000,我不知道为什么。
所以我想知道是否有人可以解释为什么会发生这种情况以及是否有某种方法可以将 18446744073709551615 存储到 javascript 变量中。
let bob = 18446744073709551615;
console.log(bob);
【问题讨论】:
-
该值无法在 JavaScript 数字中准确表示。您可以将其存储为字符串,尽管这可能不是很有用。
-
let bob = '18446744073709551615';JavaScript 数字始终是 64 位浮点数。然后,您可以转换为 big 数字类型。 -
所以如果它是一个 64 位浮点数,我应该能够将 2^63-1 存储在一个 javascript 变量中吗? (
9223372036854775807) -
64 位的一部分用作指数。对于精确的整数值,您只有 ±2^53-1 的范围。
标签: javascript mysql biginteger