Maison >interface Web >js tutoriel >Comment convertir des nombres en mots à l'aide du système Lakh/Crore ?

Comment convertir des nombres en mots à l'aide du système Lakh/Crore ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-05 22:52:02498parcourir

How to Convert Numbers to Words Using the Lakh/Crore System?

Transformer des nombres en mots dans le système Lakh/Crore

Vous essayez de convertir des nombres en mots, en suivant spécifiquement la numérotation sud-asiatique système, connu sous le nom de système lakh et crore. Malheureusement, le code que vous avez écrit utilise actuellement le système de numérotation anglais, utilisant des termes tels que « million » et « billion ».

Pour obtenir le résultat souhaité, vous pouvez opter pour une approche plus simple avec moins de lignes de code. . Voici une version concise et efficace :

<code class="js">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 amélioré apporte plusieurs avantages notables :

  • Simplicité :C'est beaucoup plus concis, avec un seul régulier expression et pas de boucles.
  • Précision : Il convertit correctement les nombres en mots en utilisant le système lakh et crore.
  • Personnalisation : Vous pouvez facilement modifier les tableaux « a » et « b » pour prendre en charge différentes langues ou dialectes.

Voici un exemple réel que vous pouvez utiliser pour tester le code :

<code class="html"><span id="words"></span>
<input id="number" type="text" /></code>
<code class="js">document.getElementById('number').onkeyup = function () {
    document.getElementById('words').innerHTML = inWords(document.getElementById('number').value);
};</code>

Par en incorporant ce code dans votre projet, vous pouvez convertir efficacement et précisément des nombres en mots dans le système lakh et crore. Faites-nous savoir si vous avez d'autres questions ou si vous avez besoin d'aide.

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