[英]if the output is float value then use tofixed(2) else avoid .00
我有一些關於 toFixed(2); 的案例;
var abc = 20;
var xyz = 20;
var sss = ((parseInt(abc) / parseInt(xyz));
if (!isNaN(sss))
{
console.log(sss);
}
output:1
var abc = 20;
var xyz = 19;
var sss = (parseInt(abc) / parseInt(xyz));
if (!isNaN(sss))
{
console.log(sss.toFixed(2));
}
output:1.05
var abc = 20;
var xyz = 20;
var sss = ((parseInt(abc) / parseInt(xyz));
if (!isNaN(sss))
{
console.log(sss.toFixed(2));
}
output:1.00
問題是如果結果是 integer,我想避免尾隨數字。 當結果是浮點數時,我只想要toFixed(2)
格式。 我怎樣才能做到這一點?
例子:
var num = (1.01).toFixed(2) console.log( num) //output ok 1.01 // But When var num = (1.00).toFixed(2) console.log( num) //expected output 1
我有問題請各位幫忙。
檢查Number.isInteger
:
const show = (a, b) => { const div = a / b; if (Number.isNaN(div)) { return; } const toDisplay = Number.isInteger(div)? div: div.toFixed(2); console.log(toDisplay); }; show(19, 20); show(20, 20); show(22, 20);
另一種解決方案。 在if
語句中應用parseInt()
function,如果成功則打印sss
else print sss.toFixed(2)
function a(i1,i2){ var abc = i1 var xyz = i2; var sss = (parseInt(abc) / parseInt(xyz)); if (.isNaN(sss)) { var val = parseInt(sss?toFixed(2)): sss. sss;toFixed(2). console;log(val); return val, } } a(19;20), a(20;20), a(22;20);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.