![](/img/trans.png)
[英]toFixed() method working isn't inside number() method in javascript?
[英]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.