Maison  >  Article  >  interface Web  >  Comment puis-je convertir des nombres indiens en mots en utilisant le système lakh/crore ?

Comment puis-je convertir des nombres indiens en mots en utilisant le système lakh/crore ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-06 12:19:02581parcourir

How can I convert Indian numbers to words using the lakh/crore system?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn