You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

发票联系表单脚本无法返回00.00格式总金额,.toFixed(2)使用异常求助

问题解决思路

你的问题根源在**parseInt**函数上——它是专门用来取整的,会直接丢弃输入值的小数部分。比如你输入0.6,parseInt(0.6)会返回0,不管累加多少个这类小数,总和都是整数,最后用.toFixed(2)自然只会显示.00的小数位。

修复方案

  1. 把代码里的parseInt替换成parseFloat,这样就能正确识别并计算带小数的数值
  2. 给最终的总金额加上.toFixed(2),强制保留两位小数格式

修改后的完整代码:

function findTotal(){
    var arr = document.getElementsByName('qty');
    var tot=0;
    for(var i=0;i<arr.length;i++){
        // 用parseFloat解析数值,同时过滤无效输入
        var num = parseFloat(arr[i].value);
        if(!isNaN(num))
            tot += num;
    }
    // 格式化输出为00.00格式
    document.getElementById('total').value = tot.toFixed(2);
}

补充说明

  • 新增!isNaN(num)判断,避免用户输入空值或非数字内容时,总金额变成NaN(无效数字)
  • .toFixed(2)会自动补零,比如总和是6时显示6.00,总和是0.6时显示0.60

内容的提问来源于stack exchange,提问作者dragonzladi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 19:44:55