0

这是代码:

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);
}

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

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

4

2 回答 2

3

123并且123.00是相同的。显示浮点数时没有理由显示不必要的数字。

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

如果要显示具有特定位数的数字,请使用subtotal.toFixed(2)。它为您提供了一个包含正确数量的小数位数的字符串:

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

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

$('span.cart-subtotal-value, span.cart-subtotal').text(subtotal.toFixed(2));
于 2012-01-09T02:58:09.690 回答
0

您可能对number_formatPHPJS 中的函数感兴趣,因为它还包括货币中常见的千位分隔符。

于 2012-01-09T03:00:53.930 回答