Jquery 用2位小数计算总计

Jquery 用2位小数计算总计,jquery,Jquery,我试图得到2位小数的总计结果。如果我加上3.56和4.28,小计显示的结果是小数,而总计显示的结果是小数 html代码 <form> <div>Quantity: <input type="text" class="qty">Unit price: <input type="text" class="unit">Amount: <input type='text' class='amount'> </div

我试图得到2位小数的总计结果。如果我加上3.56和4.28,小计显示的结果是小数,而总计显示的结果是小数

html代码

<form>
<div>Quantity:
    <input type="text" class="qty">Unit price:
    <input type="text" class="unit">Amount:
    <input type='text' class='amount'>
</div>

<div>Quantity:
    <input type="text" class="qty">Unit price:
    <input type="text" class="unit">Amount:
    <input type='text' class='amount'>
</div>Total All:
<input type="text" class="result">

您对三元组和遍历逻辑的使用有点不当。试试这个:

$('.unit, .qty').on('change', function () {
    var $container = $(this).closest('div');
    var unit = $container.find('.unit').val() || 0;
    var qty = $container.find('.qty').val() || 0;
    var val = parseFloat(unit * qty);
    var total = 0

    $container.find('.amount').val(val.toFixed(2));
    $('.amount').each(function () {
        total += parseFloat($(this).val() || 0);
    });    
    $('.result').val(total.toFixed(2));
});

逐步完成代码,同时评估所有重要变量。最终,您将遇到一个意外的值和/或执行路径,这将帮助您找出原因。检查这是否有帮助:是否已输入所有字段?哈哈,我试过你的代码,它在firefox和internet explorer中运行正常
$('.unit, .qty').on('change', function () {
    var $container = $(this).closest('div');
    var unit = $container.find('.unit').val() || 0;
    var qty = $container.find('.qty').val() || 0;
    var val = parseFloat(unit * qty);
    var total = 0

    $container.find('.amount').val(val.toFixed(2));
    $('.amount').each(function () {
        total += parseFloat($(this).val() || 0);
    });    
    $('.result').val(total.toFixed(2));
});