我的parseFloat简单的javascript代码忽略了小数

时间:2012-01-09 02:56:10

标签: javascript jquery parsefloat

以下是代码:

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

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

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

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

您可能对PHPJS中的number_format函数感兴趣,因为这还包括通常在货币中找到的千位分隔符。