如果是浮点数则显示小数点 2 位,如果是整数则显示小数点数 0 位 [重复]
Posted
技术标签:
【中文标题】如果是浮点数则显示小数点 2 位,如果是整数则显示小数点数 0 位 [重复]【英文标题】:Display decimal 2 places if float, and display decimal 0 places if int [duplicate] 【发布时间】:2016-02-09 02:19:12 【问题描述】:我知道如何计算小数点后 2 位。
使用toFixed(2);
,但问题是列表中的所有数字始终为小数点后 2 位。
我想如果分数使用小数 2 位,如果非分数使用小数 0 位。
number display
------ -------
1 1
3 3
1.341 1.34
1.345555 1.35
2 2
【问题讨论】:
检查数字是整数还是浮点数,如果是浮点数应用toFixed(2) 【参考方案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>
【讨论】:
【参考方案2】:试试这个
function isInt(n)
return n % 1 === 0;
var num=3.00;
if (isInt(num))alert(num);
elsealert(num.toFixed(2));
【讨论】:
我认为这是三元运算符的完美用例:alert(isInt(num) ? num : num.toFixed(2))
你是对的,但我喜欢括号,仍然有 python 语法的噩梦..以上是关于如果是浮点数则显示小数点 2 位,如果是整数则显示小数点数 0 位 [重复]的主要内容,如果未能解决你的问题,请参考以下文章