簡體   English   中英

如果 output 是浮點值,則使用 tofixed(2) 否則避免.00

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM