厄介な問題があります...
次のような通貨をフォーマットするために小さなJavaScriptを使用しています
現在の行を使用して、2990 から 2.990 および 129900 から 129.900 に変換します。
var wdiscount2 = wdiscount.toFixed(3);
ただし、789 などの 1000 未満の数値がある場合は、0.789 のように表示されます。
これを簡単に回避する方法はありますか?
厄介な問題があります...
次のような通貨をフォーマットするために小さなJavaScriptを使用しています
現在の行を使用して、2990 から 2.990 および 129900 から 129.900 に変換します。
var wdiscount2 = wdiscount.toFixed(3);
ただし、789 などの 1000 未満の数値がある場合は、0.789 のように表示されます。
これを簡単に回避する方法はありますか?
質問はすでに回答されているように見えますが、別の方法があります。これは興味深いかもしれません。つまり、正規表現を使用することです。
例:
var num = 2990;
var formattedNumber = num.toString().replace(/(\d)(?=(\d{3})(?!\d))/g, "$1.")
いくつかのテストケース(num
左側、formattedNumber
右側):
2990
=>2.990
129900
=>129.900
789
=> 789
(これはありません.
)それがお役に立てば幸いです。
おそらく、Joss Crowcroft のaccounting.jsなどのライブラリを使用するのは良い考えでしょうか? あらゆる種類のフォーマットをサポートしており、多くの人が使用していると思います。
wdiscount2 = accounting.formatMoney(wdiscount)
var wdiscount2 = wdiscount > 999 ? wdiscount.toFixed(3) : wdiscount;