JavaScriptで数値をインド通貨(ルピー)形式に変換する方法
インド通貨フォーマットとは
任意の数値を受け取り、それをインドの通貨表記(インドルピー)に変換して返すJavaScript関数を作成することを考えてみましょう。
インドの数値表記は日本や欧米とは異なり、桁区切りのルールが独特です。下3桁を区切った後は2桁ずつグループ化するのが特徴で、例えば 76768798 は 7,67,68,798 と表記されます。これはラーク(10万)やクロール(1000万)といったインド固有の位取り単位に基づいています。
toCurrency(1000) → ₹1,000.00
toCurrency(129943) → ₹1,29,943.00
toCurrency(76768798) → ₹7,67,68,798.00
実装例
この変換は、toLocaleString() メソッドにロケール「en-IN」を指定するだけで簡単に実現できます。コードは以下のとおりです。
const num1 = 1000;
const num2 = 129943;
const num3 = 76768798;
const toIndianCurrency = (num) => {
const curr = num.toLocaleString('en-IN', {
style: 'currency',
currency: 'INR'
});
return curr;
};
console.log(toIndianCurrency(num1));
console.log(toIndianCurrency(num2));
console.log(toIndianCurrency(num3));
実行結果
コンソールには以下のように出力されます。
₹1,000.00
₹1,29,943.00
₹7,67,68,798.00
コードの解説
toLocaleString() は、指定したロケールの規約に従って数値を文字列へ整形するメソッドです。この例では次のオプションを指定しています。
- 'en-IN'(ロケール): インド英語のロケールを意味し、インド特有の桁区切り(2桁ずつのグループ化)が自動的に適用されます。
- style: 'currency': 数値を通貨形式で表示することを指定します。
- currency: 'INR': 通貨の種類としてインドルピーを指定します。これにより通貨記号「₹」が自動的に付与されます。
このように、複雑な文字列操作を自前で実装しなくても、標準の国際化APIを活用すればわずか数行のコードで正確なインド通貨フォーマットを実現できます。
-
JavaScriptの数値(Number)の基本と実践サンプルコード
JavaScriptでは、整数も小数もすべて「Number」型として扱われます。この記事では、数値変数の定義方法と、それらを使った簡単な演算の例を、動作するHTMLサンプルコードとともに紹介します。サンプルコード以下は、JavaScriptで数値を扱う基本的な例です。整数(22、99)と小数(1.523)を変数に格納し、ボタンをクリックすると画面に表示する仕組みになっています。<!DOCTYPE html> <html lang=ja> <head> <meta charset=UTF-8 /> <meta name=viewport co
-
JavaScriptのimportで波括弧「{}」を使う理由とは?名前付きエクスポートの基本をわかりやすく解説
JavaScript(ESモジュール)でモジュールを読み込む際、import 文に波括弧 { } を付けるかどうか迷ったことはありませんか?実はこの波括弧は、名前付きエクスポート(named export)を読み込むために必要な記法です。本記事では、実際のコード例を使いながら、{ } の役割と使い方を詳しく解説します。 importで { } を使う場面とは JavaScriptのESモジュールでは、エクスポート方法によって読み込み側の書き方が変わります。 名前付きエクスポート:export { 関数名 } のようにエクスポートされたものを読み込む場合は、import { 名前 } fro