这是代码:

function updateCartSubtotal() {
    var subtotal = 0.00;
    $('span.item-subtotal-value').each(function () {
        subtotal = subtotal + parseFloat($(this).text()); //24.00 for example.
    });

    console.log(subtotal); // Logs: "144"
    $('span.cart-subtotal-value').text(subtotal); //Places: "144" in the .text().
    $('span.cart-subtotal').text(subtotal);
}


那我在做什么错?为什么这忽略了两个尾随零?

它添加正确,只是不显示小数。

最佳答案

123123.00相同。显示浮点数时,没有理由显示不必要的数字。

更重要的是,浮点数并不特定于货币-因此,如果要显示十进制数字,则必须有更多的数字。

如果要显示具有一定位数的数字,请使用subtotal.toFixed(2)。它会为您提供一个正确的十进制数字字符串:

>>> 123.00
123
>>> (123.00).toFixed(2)
"123.00"


因此您的代码可能如下所示:

$('span.cart-subtotal-value, span.cart-subtotal').text(subtotal.toFixed(2));

关于javascript - 我用于parseFloat的简单JavaScript代码忽略了小数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8783444/

10-09 21:53