Maison >interface Web >js tutoriel >Comment convertir des nombres en mots anglais en JavaScript : pourquoi « 190000009 » devient-il « dix-neuf millions » ?
JavaScript : Conversion de nombres en mots anglais
Introduction
La conversion de nombres en mots anglais peut être une tâche utile, avec des applications allant de la communication de valeurs numériques à la génération de descriptions orales. En JavaScript, réaliser cette conversion peut être réalisée via une série d'étapes logiques, comme indiqué dans l'extrait de code fourni.
Conversion des groupes de chiffres
Le code casse le nombre en groupes de trois chiffres, en commençant par la droite et en allant vers la gauche. Chaque groupe est converti en une représentation de mots à l'aide de la fonction triConvert. Cette fonction gère les nombres jusqu'à 999, renvoyant une représentation verbale ou "dontAddBigSuffix" si tous les chiffres sont zéro.
Gérer des nombres plus grands
Pour gérer des nombres plus grands, le code utilise un tableau auxiliaire bigNumArry pour ajouter des suffixes tels que « mille », « million » et « milliard » en fonction de la position du groupe de chiffres dans le nombre d'origine. Si un groupe de chiffres est composé uniquement de zéros, il ignore le suffixe et définit l'élément correspondant dans finlOutPut sur une chaîne vide.
Le dernier numéro "oublié"
L'initiale le problème décrit dans la question, où certains derniers chiffres ont été oubliés dans des conversions telles que "190000009", provenait d'une erreur logique. Lorsqu'il rencontrait un groupe de chiffres tel que "009", le code attribuait de manière incorrecte la chaîne vide à l'élément correspondant dans finlOutPut, sautant ainsi la dernière partie du nombre.
Le correctif
Pour résoudre ce problème, le code corrigé vérifie les groupes composés uniquement de zéros et les définit explicitement sur "dontAddBigSuffix" au lieu de la chaîne vide. Cela garantit que la logique ultérieure gère correctement ces groupes et ajoute le suffixe approprié.
Limitations
Bien que le code convertisse efficacement les nombres dans une certaine plage, il pourrait être étendu à gérez des nombres plus grands en ajoutant plus d'éléments au tableau bigNumArry ou en adoptant une approche différente qui gère dynamiquement les suffixes quelle que soit leur position.
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!