我下面有一个 JavaScript,它根据复选框值计算总和,但我似乎无法以 double 值输出。目前我将其保留为 0,因为我用 0.00 进行了测试,但它也不起作用
例如:8.20 + 12.70 = 20.000999999999998
echo "\t<div class='item'>
<span class='CDTitle'>{$CD['CDTitle']}</span>
<span class='CDYear'>{$CD['CDYear']}</span>
<span class='catDesc'>{$CD['catDesc']}</span>
<span class='CDPrice'>{$CD['CDPrice']}</span>
<span class='chosen'><input type='checkbox' name='CD[]' title='{$CD['CDID']}' value='{$CD['CDPrice']}' /></span>
</div>\n";
JS:
var sum=0;
$(document).on("click",".chosen",function() {
var chk=$(this).find("input");
if(chk.is(':checked')) {
sum = sum + parseInt(chk.val());
} else {
sum = sum - parseInt(chk.val());
}
$('#total').val(sum);
最佳答案
您的问题是您将值解析为整数。整数不能有小数。您需要使用 parseFloat()
来代替。
关于javascript无法使用double来获得总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33998881/