javascript无法使用double来获得总和

标签 javascript jquery

我下面有一个 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/

相关文章:

javascript - jquery 将幻灯片动画切换为纯 javascript 动画

javascript - 如何取出select2中的数据,如果数据库中存的数据是Json响应的结果

php - 强制点击提交按钮两次

javascript - 匹配密码

javascript - 测验结束时 Jquery 无法触发 ajax 调用

jquery - CSS 或 jQuery 选择器匹配所有不是其他元素后代的后代

javascript - 如何使用javascript表单提交图像

javascript - 如何告诉 Sonar 分析 *.ts 文件而不是 *.js 文件

javascript - Meteor 模板不起作用/空白页

javascript - 是否有获取区域设置字符串格式的 UTC 日期的函数?