javascript - 如何得到8位小数的输出?

标签 javascript

我正在尝试从以下函数获取 8 位十进制输出。

以下函数将输入乘以 2,然后使用 berUpdate 变量更新此输入。我希望这个输出的数字有 8 位小数。

例如:如果输入数字是 0.00000001(此代码用于比特币网站),那么我希望输出数字为 0.00000002。由于某种原因,下面的代码无法正常工作,因为输出数字的格式为 2e-8,没有 .toFixed(8) 代码。如果可以的话请帮忙。非常感谢。

<script>
function MultiplyWagerFunction() {
var wager = document.getElementById("wagerInputBox").value;
var wagerUpdate = wager*2;
document.getElementById("wagerInputBox").value = +wagerUpdate.toFixed(8);  
}
</script>

最佳答案

如果您在 wagerUpdate.toFixed(8) 之前删除 + ,它应该可以正常工作。当您将 wagerUpdate 乘以 2 时,它已经转换为数字,因此不需要一元 +

var a = "0.00000001";
var b = a*2;
console.log(b.toFixed(8));
console.log(+b.toFixed(8));

^ 看看差异。

它不起作用的原因是因为你正在做的事情相当于:

+(b.toFixed(8))

因为precedence of the operators (成员访问.高于一元+)。您正在使用 .toFixedb 转换为字符串,然后使用 + 将其转换回数字,然后将其转换回又是一个字符串!(这次使用默认的 toString 行为来表示数字,为您提供指数表示法)

关于javascript - 如何得到8位小数的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43769120/

相关文章:

javascript - 如何构建一个要转换为 JSON 的 JavaScript 数组?

javascript - jQuery - jquery 自动完成选择事件后文本字段值更改

javascript - Jquery 鼠标滚轮事件仅适用于 Chrome

javascript - HTML5 手机应用程序 - 重新缩放视网膜

javascript - 对两个不同的 ID 使用 jquery IF 语句

javascript - 突出显示最小化浏览器窗口

javascript - 选择和更改

c# - 如何在 javascript 函数中从 JQuery 调用 asp.net 中的 [web 方法] 返回 false

javascript - 为什么我的应用程序一直在运行?

javascript - Html5 Canvas ,延迟绘制2行