首頁  >  文章  >  web前端  >  如何在 JavaScript 中將數字轉換為十億和千萬盧比?

如何在 JavaScript 中將數字轉換為十億和千萬盧比?

DDD
DDD原創
2024-11-06 16:54:03156瀏覽

How to Convert Numbers to Lakhs and Crores in JavaScript?

將數字轉換為十億盧比

作為開發人員,經常會遇到將數字轉換為單字的任務。雖然現有的程式碼選項看起來很長,但本文旨在提供一種更簡潔的方法。

現有方法

給定的程式碼採用正規表示式和迴圈進行單字轉換:

<code class="javascript">var th = ['','thousand','million', 'billion','trillion'];
var dg = ['zero','one','two','three','four', 'five','six','seven','eight','nine'];
var tn = ['ten','eleven','twelve','thirteen', 'fourteen','fifteen','sixteen', 'seventeen','eighteen','nineteen'];
var tw = ['twenty','thirty','forty','fifty', 'sixty','seventy','eighty','ninety'];

function toWords(s) { ... }</code>

南亞編號系統

但是,此代碼使用西方編號系統(百萬/十億)轉換數字。要使其適應南亞系統(十萬/千萬),需要進行修改。

簡潔代碼

以下代碼提供了簡化的解決方案:

<code class="javascript">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>

此修訂後的代碼將數字轉換為南亞編號系統中的單字,佔十億和千萬。

以上是如何在 JavaScript 中將數字轉換為十億和千萬盧比?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn