Menukar Nombor kepada Lakhs/Crores
Sebagai pembangun, menghadapi tugas menukar nombor kepada perkataan sering timbul. Walaupun pilihan kod sedia ada mungkin kelihatan panjang, artikel ini bertujuan untuk mengemukakan pendekatan yang lebih ringkas.
Kaedah Sedia Ada
Kod yang diberikan menggunakan ungkapan biasa dan gelung untuk penukaran perkataan:
<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>
Sistem Penomboran Asia Selatan
Walau bagaimanapun, kod ini menukar nombor menggunakan sistem penomboran Barat (berjuta/bilion). Untuk menyesuaikannya dengan sistem Asia Selatan (lakhs/crores), pengubahsuaian diperlukan.
Kod Ringkas
Kod berikut menawarkan penyelesaian yang diperkemas:
<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>
Kod yang disemak ini menukar nombor kepada perkataan dalam sistem penomboran Asia Selatan, menyumbang lakh dan crores.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Nombor kepada Lakhs dan Crores dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!