Maison > interface Web > js tutoriel > Comment convertir des nombres en Lakhs et Crores en JavaScript ?

Comment convertir des nombres en Lakhs et Crores en JavaScript ?

DDD
Libérer: 2024-11-06 16:54:03
original
308 Les gens l'ont consulté

How to Convert Numbers to Lakhs and Crores in JavaScript?

Conversion de nombres en Lakhs/Crores

En tant que développeur, la tâche de convertir des nombres en mots se pose souvent. Bien que les options de code existantes puissent sembler longues, cet article vise à présenter une approche plus concise.

Méthode existante

Le code donné utilise des expressions régulières et des boucles pour la conversion de mots :

<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>
Copier après la connexion

Système de numérotation sud-asiatique

Cependant, ce code convertit les nombres en utilisant le système de numérotation occidental (millions/milliards). Pour l'adapter au système sud-asiatique (lakhs/crores), des modifications sont nécessaires.

Code concis

Le code suivant offre une solution simplifiée :

<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>
Copier après la connexion

Ce code révisé convertit les nombres en mots dans le système de numérotation sud-asiatique, représentant des lakhs et des crores.

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 de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal