Lakh/Crore システムでの数字から単語への変換
特に南アジアの番号付けに従って、数字を単語に変換しようとしています。 10万システムとして知られるシステム。残念ながら、現在作成したコードでは、「million」や「billion」などの用語を使用した英語の番号付けシステムが使用されています。
目的の結果を達成するには、コード行数が少なく、より単純なアプローチを選択できます。 。簡潔で効率的なバージョンを次に示します。
<code class="js">var a = ['','one ','two ','three ','four ', 'five ','six ','seven ','eight ','nine ','ten ','eleven ','twelve ','thirteen ','fourteen ','fifteen ','sixteen ','seventeen ','eighteen ','nineteen ']; var 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; var 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; }</code>
この改良されたコードには、いくつかの注目すべき利点があります。
コードのテストに使用できる実際の例を次に示します。
<code class="html"><span id="words"></span> <input id="number" type="text" /></code>
<code class="js">document.getElementById('number').onkeyup = function () { document.getElementById('words').innerHTML = inWords(document.getElementById('number').value); };</code>
Byこのコードをプロジェクトに組み込むと、数値を数十億単位の単語に効率的かつ正確に変換できます。さらにご質問がある場合、またはサポートが必要な場合はお知らせください。
以上がLakh/Crore システムを使用して数字を単語に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。