首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ParseFloat混淆

ParseFloat混淆
EN

Stack Overflow用户
提问于 2014-03-03 05:39:40
回答 2查看 174关注 0票数 3

在我的代码中,我有这样一个:

代码语言:javascript
复制
<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。

我应该添加什么来实现第二个输出示例?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-03 05:41:50

使用ToFixed(2) mdn

(123.00 + 12.00).toFixed(2) //135.00

另外,也可以使用\操作符。

因此:

代码语言:javascript
复制
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“

代码语言:javascript
复制
So how would I solve it ? 

简单地说:

每个人乘以1000,然后移动小数点。

票数 3
EN

Stack Overflow用户

发布于 2014-03-03 05:41:53

听起来parseFloat()工作正常,但它的输出并不完全符合您的喜好。尝试使用.toFixed()函数进行格式化:

代码语言:javascript
复制
Balance.value = (collect + current).toFixed(2)

在这个问题上有一些关于货币格式化的讨论:How can I format numbers as money in JavaScript?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22139433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档