2015-11-08 86 views
0

我知道如何做小数点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 
+0

检查数量为整数或浮点数,如果浮动应用toFixed(2) –

回答

2

试试这个

function isInt(n) { 
     return n % 1 === 0; 

    } 
    var num=3.00; 
    if (isInt(num)){alert(num);} 
    else{alert(num.toFixed(2));} 
+1

我认为这是一个完美的使用例如,一个三元运算符:'alert(isInt(num)?num:num.toFixed(2))' – Aaron

+0

你说得对,但我喜欢括号,仍然有蟒蛇语法的噩梦。 –

1

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>

相关问题