用javascript添加浮点数

JP *_*shy 9 javascript jquery

我正在使用jQuery,我想总结我的表列中的值,一切似乎工作正常,但我的值返回一个字符串,其中添加了所有值,如: 123.5013.0012.35

我怎样才能正确地总结这些?

var totals

$(".add").each(function(i) {
  totals += parseFloat($(this).text()).toFixed(2);
});

console.log(totals);
Run Code Online (Sandbox Code Playgroud)

Pet*_*sen 16

你有多个错误.一个是没有将总数初始化为数字,如0.0.第二个没有意识到.toFixed()返回一个字符串.Javascript将字符串连接在一起,而不是添加数字.

基本上同样的问题之前已经被问过javascript-why-does-this-produce-and-ugly-string-i-like-like-currency和答案应该为你解决这个问题.


Mar*_*ius 5

这是一个工作版本(在Firefox 3.5中测试):

<!DOCTYPE html>
<html>
<head>
    <title>Sum of nubers</title>

    <script src="jquery.js" type="text/javascript"></script>
    <script type="text/javascript">

        $(function(){
            var total = 0;
            $(".add").each(function(){
                total += parseFloat($(this).text());
            });
            alert(total.toFixed(2));
        });
    </script>
</head>
<body>
<div class="add">23.4567</div>
<div class="add">98.7654</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

这只是众多方法中的一种.对于其他几种方法,请看一下这个问题:

如何将字符串转换为浮点数