最終更新日:
公開日:
レシピ
文字列
数値を通貨の表記に変換する
数値(number)を円や米ドルなど、通貨の表記に変換する方法について解説します。
この記事のポイント
- 数値を通貨表記に変換するときはtoLocaleStringメソッドを使う
- 数値に3桁ごとの「コンマ」のみ付けたいときはIntl.NumberFormat().format()を使用する
目次
数値(number)を金額表記に変換する
計算した後の数値(number)を出力する際に、「,」で区切った「¥1,000」などの表記に変換するときはtoLocaleStringメソッドを使うと簡単に変換することができます。
JS コード例
// 変換する数値(Number)
let price1 = 100;
let price2 = 1234;
let price3 = 12345678912345;
// 変換を実行(日本円)
let jpy_price1 = price1.toLocaleString('ja-JP', {style:'currency', currency: 'JPY'});
let jpy_price2 = price2.toLocaleString('ja-JP', {style:'currency', currency: 'JPY'});
let jpy_price3 = price3.toLocaleString('ja-JP', {style:'currency', currency: 'JPY'});
// 変換を実行(米ドル)
let usd_price1 = price1.toLocaleString('en-US', {style:'currency', currency: 'USD'});
let usd_price2 = price2.toLocaleString('en-US', {style:'currency', currency: 'USD'});
let usd_price3 = price3.toLocaleString('en-US', {style:'currency', currency: 'USD'});
// コンソールに出力(日本円)
console.log( jpy_price1); // ¥100
console.log( jpy_price2); // ¥1,234
console.log( jpy_price3); // ¥12,345,678,912,345
// コンソールに出力(米ドル)
console.log( usd_price1); // $100.00
console.log( usd_price2); // $1,234.00
console.log( usd_price3); // $12,345,678,912,345.00
変換後は文字列(string)になります。
表示したい通貨によっては小数点以下の数値が表示されます。
例えば日本円は最小単位が通常は1円なのでそれ未満の「50銭」などは表示されません。
しかし米ドルのように日常的に「$5.12」などドルとセントを組み合わせて使う通貨は小数点が表示されます。
もし、日本円でも小数点を表示したいときはminimumFractionDigitsプロパティを指定します。
JS コード例
// 変換する数値(Number)
let price1 = 100;
let price2 = 1234.005;
let price3 = 123456789.00292;
// 変換を実行(日本円)
let jpy_price1 = price1.toLocaleString('ja-JP', {style:'currency', currency: 'JPY', minimumFractionDigits: 2});
let jpy_price2 = price2.toLocaleString('ja-JP', {style:'currency', currency: 'JPY', minimumFractionDigits: 2});
let jpy_price3 = price3.toLocaleString('ja-JP', {style:'currency', currency: 'JPY', minimumFractionDigits: 5});
// コンソールに出力
console.log( jpy_price1); // ¥100.00
console.log( jpy_price2); // ¥1,234.01
console.log( jpy_price3); // ¥123,456,789.00292
数値(number)をコンマ区切りに変換する
数値(number)をシンプルに「,」区切りにして、表記を自由に調整することも可能です。
JS コード例
// 変換する数値(Number)
let price1 = 1234;
let price2 = 123456789;
// 変換を実行
jpy_price1 = new Intl.NumberFormat().format(price1);
jpy_price2 = new Intl.NumberFormat().format(price2);
// コンソールに出力
console.log(jpy_price1 + '円'); // 1,234円
console.log(jpy_price2 + '円'); // 123,456,789円
上記のように、toLocaleStringメソッドによる通貨の表記「¥1,234」ではなく「1,234円」のようにしたいときに便利です。