Javascript 如何获得8进制输出?
我试图从下面的函数中得到一个8进制的输出 以下函数将输入乘以2,然后使用wagerUpdate变量更新此输入。我希望输出的数字有8位小数 例如:如果输入号码是0.00000001(此代码用于比特币网站),那么我希望输出号码是0.00000002。由于某些原因,以下代码无法正常工作,因为输出编号的格式为2e-8,没有.toFixed(8)代码。如果你有能力,请帮忙。非常感谢你Javascript 如何获得8进制输出?,javascript,Javascript,我试图从下面的函数中得到一个8进制的输出 以下函数将输入乘以2,然后使用wagerUpdate变量更新此输入。我希望输出的数字有8位小数 例如:如果输入号码是0.00000001(此代码用于比特币网站),那么我希望输出号码是0.00000002。由于某些原因,以下代码无法正常工作,因为输出编号的格式为2e-8,没有.toFixed(8)代码。如果你有能力,请帮忙。非常感谢你 <script> function MultiplyWagerFunction() { var wager =
<script>
function MultiplyWagerFunction() {
var wager = document.getElementById("wagerInputBox").value;
var wagerUpdate = wager*2;
document.getElementById("wagerInputBox").value = +wagerUpdate.toFixed(8);
}
</script>
函数multilyManager函数(){
var wager=document.getElementById(“wagerInputBox”).value;
var wagerUpdate=赌注*2;
document.getElementById(“wagerInputBox”).value=+wagerUpdate.toFixed(8);
}
而不是:
document.getElementById("wagerInputBox").value = +wagerUpdate.toFixed(8);
尝试:
我之所以这么说,可能是因为当你们设定值时,浏览器试图将其转换为最好的结果。但是,内部HTML应该采用与字符串等效的格式 如果在
wagerUpdate.toFixed(8)
之前删除+
,它应该可以正常工作wagerUpdate
在乘以2
时已转换为一个数字,因此不需要一元数+
var a=“0.00000001”;
VarB=a*2;
控制台日志(b.toFixed(8));
控制台日志(+b.toFixed(8))代码>只需从+wagerUpdate.toFixed(8)中删除+即可代码>你会很好。你为什么要做+wagerUpdate
?它已经是一个数字了,因为你把它乘以了一个数字。删除该选项,您的toFixed
应该可以工作。@MattBurland将其作为答案发布。我已经更新了您之前提出的问题。删除+。此外,使用javascript浮点算法进行金融计算是(正如您提到的比特币)。如果wagerInputBox
是
的话,它没有innerHTML
,只有值
。哦,是的!我没有考虑这一点。我的错。可能是“+”号导致了问题,因为Matt已经指出,toFixed(8)
将其从数字转换为字符串。问题是他真的想要这个字符串,他不想把它转换回一个数字,因为当它被转换回一个字符串来分配给.value
时,它将使用指数符号而不是固定符号。我改了,现在一切都很好。我是一个新的编码,所以这真的帮助了我。非常感谢。
document.getElementById("wagerInputBox").innerHTML = +wagerUpdate.toFixed(8);