首頁 > web前端 > js教程 > 主體

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

Linda Hamilton
發布: 2024-11-05 16:05:02
原創
891 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板