首頁  >  文章  >  web前端  >  如何使用南亞計數系統(十億和千萬)將數字轉換為單字?

如何使用南亞計數系統(十億和千萬)將數字轉換為單字?

Linda Hamilton
Linda Hamilton原創
2024-11-05 16:05:02892瀏覽

How can I convert numbers into words using the South Asian numbering system (Lakhs and Crores)?

將十萬/千萬系統中的數字轉換為單字

問題:

問題:

我需要一個簡化且高效的代碼,用於將數字轉換為單詞,遵循包括十萬和千萬的南亞計數系統。

<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;
}

document.getElementById('number').onkeyup = function () {
    document.getElementById('words').innerHTML = inWords(document.getElementById('number').value);
};</code>
答案:

要完成此任務,您可以使用以下簡潔的代碼:

  • 說明:
  • 此程式碼將數字分成更小的部分:千萬、十萬、千、百和十。
它利用陣列 a 和 b 將每個組件的數字轉換為單字。 結果連結起來以所需的南亞編號系統格式傳回拼字出來的數字。

以上是如何使用南亞計數系統(十億和千萬)將數字轉換為單字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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