我對JavaScript函數toFixed(2)
有個小問題。使用toFixed舍入十進制數
如果我圍繞這個十進制數45.24859
,我得到45.25
使用此功能。
但是我的問題是,如果我輪了10
(它沒有小數部分),該函數將返回一個十進制數10.00
。
我該如何解決這個問題?
我的問題是,如果輸入一個沒有小數部分的數字,函數應該返回一個非十進制數。
我對JavaScript函數toFixed(2)
有個小問題。使用toFixed舍入十進制數
如果我圍繞這個十進制數45.24859
,我得到45.25
使用此功能。
但是我的問題是,如果我輪了10
(它沒有小數部分),該函數將返回一個十進制數10.00
。
我該如何解決這個問題?
我的問題是,如果輸入一個沒有小數部分的數字,函數應該返回一個非十進制數。
解決此問題的另一種方法
function roundNumber(num){
return (num.toString().indexOf(".") !== -1) ? num.toFixed(2) : num;
}
或
function roundNumber(num){
return (num.toString().contains(".")) ? num.toFixed(2) : num;
}
我們可以覈對一下電話號碼是小數或不符合本Check if a number has a decimal...
所以相結合,您可以使用此功能
function roundNumber(num){
return num % 1 != 0 ? num.toFixed(2) : num;
}
或者我認爲更好的選擇將是使用
Math.round(num * 100)/100
的可能重複的[回合最多以JavaScript 2位小數](http://stackoverflow.com/questions/11832914/round-up-在JavaScript中的2位小數) – Sarath
請注意,這與jQuery絲毫沒有關係。 –