我正在使用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和答案应该为你解决这个问题.
这是一个工作版本(在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)
这只是众多方法中的一种.对于其他几种方法,请看一下这个问题: