Rumah >hujung hadapan web >tutorial js >Bagaimanakah saya boleh menukar nombor kepada perkataan menggunakan sistem penomboran Asia Selatan (Lakhs dan Crores)?

Bagaimanakah saya boleh menukar nombor kepada perkataan menggunakan sistem penomboran Asia Selatan (Lakhs dan Crores)?

Linda Hamilton
Linda Hamiltonasal
2024-11-05 16:05:02897semak imbas

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

Ubah Nombor kepada Perkataan dalam Sistem Lakh/Crore

Soalan:

Saya memerlukan kod yang ringkas dan cekap untuk menukar nombor kepada perkataan, mematuhi sistem penomboran Asia Selatan yang merangkumi Lakhs dan Crores.

Jawapan:

Untuk mencapai tugas ini, anda boleh gunakan kod ringkas berikut:

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

Penjelasan:

  • Kod ini memisahkan nombor kepada komponen yang lebih kecil: crores, lakhs, thousands, hundreds, dan puluhan.
  • Ia menggunakan tatasusunan a dan b untuk menukar digit setiap komponen kepada perkataan.
  • Hasilnya digabungkan untuk mengembalikan nombor yang dieja dalam format sistem penomboran Asia Selatan yang dikehendaki.

Atas ialah kandungan terperinci Bagaimanakah saya boleh menukar nombor kepada perkataan menggunakan sistem penomboran Asia Selatan (Lakhs dan Crores)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn