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

JS实现单价乘数量算总价表格 小数仅识别整数问题求解

问题原因

你代码中使用的parseInt()方法仅能解析整数,会自动截断小数点后的所有内容,这是小数计算失效的核心原因,和input标签的type属性设置无关。

修复方案

将数值解析方法替换为支持小数的parseFloat(),同时增加小数位数控制,避免浮点运算精度异常。

修改后的核心JS代码

$(function () {
    $('.price,.quantity').on('keyup', function () {
        var row = $(this).closest('tr');
        // 空值、非数值内容自动转为0
        var price = parseFloat($(row).find('.price').val()) || 0;
        var quantity = parseFloat($(row).find('.quantity').val()) || 0;
        // 计算后保留2位小数,符合金额类场景的展示需求
        $(row).find('.total').val((price * quantity).toFixed(2));
    });
});

可选优化

如果要限制输入框仅能输入数字和小数点,可以将input的type设置为number,同时添加step="0.01"属性,示例如下:

<input type="number" step="0.01" class="price" value="1.39" />

这样可以限制输入精度为两位小数,同时移动端会唤起数字输入键盘,使用体验更好。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 07:57:00