gpt4 book ai didi

javascript - 调用参数以零开头的函数时获取随机数

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

我的列表中有 8 位数字的项目,其中大多数以两个零开头。当我想调用函数并传递它的唯一数字时,几乎总是当它以“00”开头时,它会得到一些看似随机的数字。我仍然不知道它是如何或为何发生的。这是 JSFiddle 上的示例。

HTML:

<div id="working">
<input type="button" onclick="sample(00119001)" value="00119001" /><br/>
<input type="button" onclick="sample(00113008)" value="00113008" /><br/>
<input type="button" onclick="sample(68745696)" value="68745696" /><br/>
<input type="button" onclick="sample(11112222)" value="11112222" /><br/>
</div>
<div id="notworking">
<input type="button" onclick="sample(00113004)" value="00113004" /><br/>
<input type="button" onclick="sample(00113003)" value="00113003" /><br/>
<input type="button" onclick="sample(00106002)" value="00106002" /><br/>
<input type="button" onclick="sample(00120003)" value="00120003" /><br/>
</div>
<div id="show"></div>

JS:

function sample(a) {
var b = "0000000"+a;
b = b.substr(b.length-8);
document.getElementById("show").innerHTML="Input: "+a+" | Output: "+b;
}

澄清问题:我希望在函数中获得与调用它的参数中使用的相同的数字,但由于某种原因,有时我会得到完全不同的数字。

最佳答案

00113004 被解释为八进制。当您的文字中有 8 或 9 时,不会发生这种情况,因为 js 引擎猜测它不能是八进制。

要生成十进制文字,请删除开头的 0

<input type="button" onclick="sample(113004)" value="00113004" /><br/>

如果你确实想要 0,请使用字符串:

 <input type="button" onclick="sample('00113004')" value="00113004" /><br/>

function sample(a) {
var b = "0000000"+Number(a);
b = b.substr(b.length-8);
document.getElementById("show").innerHTML="Input: "+a+" | Output: "+b;
}

关于javascript - 调用参数以零开头的函数时获取随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19480185/

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