我知道如何做小数点2位。如果浮点显示小数点2位,并且显示小数点0位,如果int
使用toFixed(2);
但问题是列表中的所有数字总是2位小数。
我想如果分数使用小数点2位,如果非分数使用小数点0位。
number display
------ -------
1 1
3 3
1.341 1.34
1.345555 1.35
2 2
我知道如何做小数点2位。如果浮点显示小数点2位,并且显示小数点0位,如果int
使用toFixed(2);
但问题是列表中的所有数字总是2位小数。
我想如果分数使用小数点2位,如果非分数使用小数点0位。
number display
------ -------
1 1
3 3
1.341 1.34
1.345555 1.35
2 2
试试这个
function isInt(n) {
return n % 1 === 0;
}
var num=3.00;
if (isInt(num)){alert(num);}
else{alert(num.toFixed(2));}
我认为这是一个完美的使用例如,一个三元运算符:'alert(isInt(num)?num:num.toFixed(2))' – Aaron
你说得对,但我喜欢括号,仍然有蟒蛇语法的噩梦。 –
function show(num) { // test for int is from duplicate question
return (num % 1 === 0)?num:num.toFixed(2);
}
var nums = [1,3,1.341,1.345555,2],div=document.getElementById("res");
for (var i=0;i<nums.length;i++) {
res.innerHTML+='<br/>'+show(nums[i]);
}
<div id="res"></div>
检查数量为整数或浮点数,如果浮动应用toFixed(2) –