我对 JavaScript 函数有一个小问题toFixed(2)
。
如果我四舍五入这个十进制数45.24859
,我就会45.25
使用这个函数。
但我的问题是,如果我四舍五入10
(它没有小数部分),该函数将返回一个小数10.00
。
我该如何解决这个问题?
我的问题是,如果输入一个没有小数部分的数字,函数应该返回一个非小数。
我对 JavaScript 函数有一个小问题toFixed(2)
。
如果我四舍五入这个十进制数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;
}
我们可以用这个检查数字是否是十进制的检查数字是否有小数...
所以结合起来你可以使用这个功能
function roundNumber(num){
return num % 1 != 0 ? num.toFixed(2) : num;
}
或者我认为更好的选择是使用
Math.round(num * 100) / 100