Maison > Article > interface Web > Comment puis-je convertir des nombres indiens en mots en utilisant le système lakh/crore ?
Transformer les nombres indiens en mots à l'aide du système Lakh/Crore
Lorsque vous travaillez avec des nombres indiens, il devient nécessaire de les convertir en leur mot correspondant formes. Bien qu'il existe plusieurs approches pour y parvenir, le code fourni peut sembler trop complexe. Explorons une alternative plus simple :
La fonction suivante utilise une seule expression régulière pour convertir efficacement les nombres sous leur forme de mot :
<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>
Ce code utilise des expressions régulières pour gérer divers scénarios, tels que déterminer le nombre de crores, de lakhs, de milliers et de centaines dans le nombre donné. La sortie est ensuite construite en fonction de ces valeurs.
Utilisation et exemple :
Utilisation du code :
<code class="html"><span id="words"></span> <input id="number" type="text"></code>
Lorsque vous tapez un nombre dans le champ de saisie et relâchez une touche, la fonction inWords() est exécutée, convertissant le nombre en sa forme de mot et l'affichant dans l'étendue des mots.
Ce code fournit une solution compacte et facile à comprendre qui répond à votre besoin de transformer les nombres indiens en mots dans le système lakh/crore.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!