gpt4 book ai didi

javascript toString() 用长数字做奇怪的事情......为什么?有解决办法吗?

转载 作者:行者123 更新时间:2023-11-29 23:55:25 28 4
gpt4 key购买 nike

如果您创建并执行以下函数,您将得到一个返回:11111111111111112。如果您做得更多,您将得到指数数。我只想取一长串数字并将它们放入一个数组中(后续将在函数上进行拆分)。到底有没有这种怪事?

function sum2one(num) {
var numtostring = num.toString();
console.log(numtostring);
}

sum2one(11111111111111111);

最佳答案

Javascript 数字始终是 64 位 float 。因此。这基本上导致了这样一个事实,即对于每个数字,都没有精确的整数表示。

所以,事实上,toString() 不会做奇怪的事情。它是数字在 javascript 语言中如何存储/表示/实现的实际格式。

什么!? float 学坏了吗?!不是真的,请参阅 Is floating point math broken?

关于javascript toString() 用长数字做奇怪的事情......为什么?有解决办法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41815417/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com