我使用這個代碼:JQuery的長度舍結果
$("#total_percentage").text(
(parseInt($("#capacity").text(), 10)/parseInt($("#total").text(), 10))
);
我的問題是#total_percentage有時會很長的結果。
e.g:2.33333333333
有沒有一種方法來設置它,所以它向上舍/顯示的2個位數只有最大?
例如:2或10
我使用這個代碼:JQuery的長度舍結果
$("#total_percentage").text(
(parseInt($("#capacity").text(), 10)/parseInt($("#total").text(), 10))
);
我的問題是#total_percentage有時會很長的結果。
e.g:2.33333333333
有沒有一種方法來設置它,所以它向上舍/顯示的2個位數只有最大?
例如:2或10
收集使用Javascript數學庫。
$("#total_percentage").text(
(Math.ceil(parseInt($("#capacity").text(), 10)/parseInt($("#total").text(), 10)))
);
Math.ceil總是舍入(2.33333會顯示3,而不是2)。只要確保沒問題... http://www.w3schools.com/jsref/jsref_ceil.asp – 2012-08-15 19:14:42
您可以使用toFixed()
:
$("#total_percentage").text(
(parseInt($("#capacity").text(), 10)/parseInt($("#total").text(), 10)).toFixed(2)
);
參考文獻:
如果你想顯示兩位數字小數點權,Math.toFixed
是解決方案:
(2.33333333).toFixed(2) === "2.33"
注意,這導致一個字符串,而不是數量。如果你想顯示2個位數總,Math.toPrecision
是你想要什麼:
(2.33333333).toPrecision(2) === "2.3"
再次,這會導致一個字符串。要返回一個數字(如果需要),可以使用parseFloat
。
最後注意到這兩個函數也會圍繞你的數字。例如:
(1.23456).toPrecision(4) === "1.235"
如果要截斷你的電話號碼沒有四捨五入,你可以寫這樣的功能:
function truncate(num,precision) {
var muldiv = Math.pow(10,precision-1);
return Math.floor(num * muldiv)/muldiv;
}
truncate(1.23456,4) === 1.234
下面是一個的jsfiddle展示每個方法:
這是一個小問題的矯枉過正,但我強烈建議sugarjs:http://sugarjs.com/ – 2012-08-15 18:49:14
你問有關顯示兩位數字後小數?在你的例子中:'2.33' – 2012-08-15 18:51:13