gpt4 book ai didi

Javascript 变量不显示分配给它的数字

转载 作者:行者123 更新时间:2023-11-28 11:35:46 24 4
gpt4 key购买 nike

我正在编写一个 javascript 程序,需要随机的 10 位数字,有时第 10 位数字可能为 0。我为这些数字之一分配了一个变量,然后记录它以确保一切正常......但是事实并非如此。这是我的代码:

var candidate = 0135740250;
var candidate2 = 0272189318;
console.log(candidate); // Returns 24625320
console.log(candidate2); // Returns 272189318

我尝试将 0candidate 的开头去掉,这使它正确返回,但我不明白为什么它在第一个中不起作用地方。我在上面添加了 candidate2 ,因为无论我对它做什么,在中间添加 0 ,以其他方式更改它,它都保持正确,所以我不明白为什么候选人被搞砸了。我隐约了解 Javascript 中的数字存储系统,它并不完美,但我需要一种可预测、可重复的方式来返回正确的数字。

问题是:这里发生了什么以及我如何可靠地避免它?

最佳答案

"The question is: what is happening here..."

第一个是有效的八进制,因此它会被转换为这样。

由于 89,第二个不是有效的八进制,因此它获得以 10 为基数的表示形式,并删除了前导 0因为它没有增加任何值(value)。

<小时/>

"...and how can I reliably avoid it?"

是否避免这种情况取决于您生成数字的方式。如果您使用 .random() 这不会是一个问题,所以我假设它们来自某种字符串表示形式。

如果是这样,并且您使用 parseInt() 来获取实际数字,则将其 10 作为第二个参数传递以确保以 10 为基数表示。

关于Javascript 变量不显示分配给它的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21835557/

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