簡體   English   中英

我的toFixed(); 沒用

[英]My toFixed(); isn't working

我在這里有以下JS ...

$(function($) {
    $('#CourseMenu select').change(function() {
        var sum = 0;
        $('#CourseMenu select').each(function(idx, elm) {
            sum += parseInt(elm.value, 10);
        });

     $('#total_potential').html(Math.min(sum,72).toFixed(2));
    });
});

...但是toFixed(); 工作不正常。 這不是給我小數點后兩位。

還有什么我應該補充的嗎?

我已經更新它以反映@bfavaretto建議...但是它只返回.00的值

我將值設置為.67、1.33、2.67,依此類推。

你必須申請toFixed正確打印的價值,而不是在開始之前:

$('#total_potential').html(Math.min(sum,72).toFixed(2));

這是因為toFixed並不限制數字變量的小數位數,它只是一個格式化函數,該函數接受一個數字並返回一個具有該數字的字符串,該數字的位數被設置為許多小數位。 因此,它應該僅用於輸出。

我相信您在做的時候:

sum += parseInt(elm.value, 10);

它正在改變類型。 您應該在函數末尾進行toFixed調用。

編輯

OP提出的其他問題。

@webfrogs如果最后得到的結果是.00,那么我會對代碼中可能出錯的事情做出兩個猜測。 (1)您正在使用parseInt ,然后為.67之類的東西給您提供0值(不確定這是否是您想要的),以及(2)變量sum可能不在同一范圍內,您可以確保通過顯式傳遞上下文來使用right變量。

$('#CourseMenu select').each(function(idx, elm) {
        sum += parseInt(elm.value, 10);
    }).bind(this);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM