ホームページ > ウェブフロントエンド > jsチュートリアル > Lakhs/Crores システムで数値を単語に効率的に変換するにはどうすればよいですか?

Lakhs/Crores システムで数値を単語に効率的に変換するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-07 19:22:02
オリジナル
622 人が閲覧しました

How Can I Efficiently Convert Numbers to Words in the Lakhs/Crores System?

Lakhs / Crores システムで数値を単語に変換する: 効率的なアプローチ

数値を単語に変換することは、プログラミング、特にプログラミングにおいて一般的なタスクです。財務または会計アプリケーション。既存のソリューションの多くには、複数の正規表現とループを含む複雑なコードが含まれていますが、この記事では、南アジアの番号付けシステムの特定の要件に合わせた簡略化されたアプローチを紹介します。

このシステムは、「10 万」と「10 億」の概念を利用しています。 " 大きな数を表す。 10 万は 100,000 を表し、10 億は 10,000,000 を表します。カンマが区切り文字として使用される西洋の番号付けシステムとは異なり、南アジアの番号付けシステムはスペースを使用します。

この変換を効率的に行うために、次のコード スニペットでは単一の正規表現を使用し、ループの必要性を排除しています。

<code class="javascript">const a = ['', 'one ', 'two ', 'three ', 'four ', 'five ', 'six ', 'seven ', 'eight ', 'nine ', 'ten ', 'eleven ', 'twelve ', 'thirteen ', 'fourteen ', 'fifteen ', 'sixteen ', 'seventeen ', 'eighteen ', 'nineteen '];
const b = ['', '', 'twenty', 'thirty', 'forty', 'fifty', 'sixty', 'seventy', 'eighty', 'ninety'];

function inWords (num) {
  if ((num = num.toString()).length > 9) return 'overflow';
  n = ('000000000' + num).substr(-9).match(/^(\d{2})(\d{2})(\d{2})(\d{1})(\d{2})$/);
  if (!n) return;
  let str = '';
  str += (n[1] != 0) ? (a[Number(n[1])] || b[n[1][0]] + ' ' + a[n[1][1]]) + 'crore ' : '';
  str += (n[2] != 0) ? (a[Number(n[2])] || b[n[2][0]] + ' ' + a[n[2][1]]) + 'lakh ' : '';
  str += (n[3] != 0) ? (a[Number(n[3])] || b[n[3][0]] + ' ' + a[n[3][1]]) + 'thousand ' : '';
  str += (n[4] != 0) ? (a[Number(n[4])] || b[n[4][0]] + ' ' + a[n[4][1]]) + 'hundred ' : '';
  str += (n[5] != 0) ? ((str != '') ? 'and ' : '') + (a[Number(n[5])] || b[n[5][0]] + ' ' + a[n[5][1]]) + 'only ' : '';
  return str;
}
````

This code combines pre-defined arrays 'a' and 'b' to form various numerical representations. By utilizing a regular expression, it captures the different sections of the number (e.g., crores, lakhs, thousands, hundreds, and ones) and generates the appropriate words. Importantly, this approach is much more concise than the earlier solution presented.

To demonstrate the code's functionality, an HTML/JavaScript snippet can be used:
</code>
ログイン後にコピー

document.getElementById('number').onkeyup = function () {

document.getElementById('words').innerHTML = inWords(document.getElementById('number').value);
ログイン後にコピー

};


以上がLakhs/Crores システムで数値を単語に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート