我对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丝毫没有关系。 –