JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptで数値をインド通貨(ルピー)形式に変換する方法

インド通貨フォーマットとは

任意の数値を受け取り、それをインドの通貨表記(インドルピー)に変換して返すJavaScript関数を作成することを考えてみましょう。

インドの数値表記は日本や欧米とは異なり、桁区切りのルールが独特です。下3桁を区切った後は2桁ずつグループ化するのが特徴で、例えば 767687987,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を活用すればわずか数行のコードで正確なインド通貨フォーマットを実現できます。

  1. JavaScriptの数値(Number)の基本と実践サンプルコード

    JavaScriptでは、整数も小数もすべて「Number」型として扱われます。この記事では、数値変数の定義方法と、それらを使った簡単な演算の例を、動作するHTMLサンプルコードとともに紹介します。サンプルコード以下は、JavaScriptで数値を扱う基本的な例です。整数(22、99)と小数(1.523)を変数に格納し、ボタンをクリックすると画面に表示する仕組みになっています。<!DOCTYPE html> <html lang=ja> <head> <meta charset=UTF-8 /> <meta name=viewport co

  2. JavaScriptのimportで波括弧「{}」を使う理由とは?名前付きエクスポートの基本をわかりやすく解説

    JavaScript(ESモジュール)でモジュールを読み込む際、import 文に波括弧 { } を付けるかどうか迷ったことはありませんか?実はこの波括弧は、名前付きエクスポート(named export)を読み込むために必要な記法です。本記事では、実際のコード例を使いながら、{ } の役割と使い方を詳しく解説します。 importで { } を使う場面とは JavaScriptのESモジュールでは、エクスポート方法によって読み込み側の書き方が変わります。 名前付きエクスポート:export { 関数名 } のようにエクスポートされたものを読み込む場合は、import { 名前 } fro