在我的代码中,我有这样一个:
<script language="javascript">
function addNumbers()
{
var collect = parseFloat(document.getElementById("Collect").value);
var current = parseFloat(document.getElementById("Current").value);
var Balance = document.getElementById("Bal");
Balance.value = collect + current;
}
</script>例如,如果输入为: 123.12 + 12.22,则馀额为135.34,但如果输入为: 123.00 + 12.00,则余额为135,而不是135.00。
我应该添加什么来实现第二个输出示例?
谢谢。
发布于 2014-03-03 05:41:50
使用ToFixed(2) mdn
(123.00 + 12.00).toFixed(2) //135.00
另外,也可以使用\操作符。
因此:
function addNumbers()
{
var collect = parseFloat(document.getElementById("Collect").value) ||0;
var current = parseFloat(document.getElementById("Current").value) ||0;
var Balance = document.getElementById("Bal");
Balance.value = (collect + current).toFixed(2);
}小问题:
(9.999 +9.999).toFixed(2) //"20.00“
So how would I solve it ? 简单地说:
每个人乘以1000,然后移动小数点。
发布于 2014-03-03 05:41:53
听起来parseFloat()工作正常,但它的输出并不完全符合您的喜好。尝试使用.toFixed()函数进行格式化:
Balance.value = (collect + current).toFixed(2)在这个问题上有一些关于货币格式化的讨论:How can I format numbers as money in JavaScript?
https://stackoverflow.com/questions/22139433
复制相似问题