Les mots numériques peuvent-ils être convertis en valeurs entières ?
Dans de nombreux scénarios, il est nécessaire de convertir des mots numériques, tels que « un ," en nombres entiers comme 1. Cette conversion peut être cruciale à diverses fins, telles que le traitement des données ou le langage naturel compréhension.
Heureusement, il existe des solutions efficaces disponibles pour faciliter ce processus de conversion. L’une de ces solutions consiste à exploiter un dictionnaire qui mappe les mots numériques à leurs valeurs entières correspondantes. Ce dictionnaire sert de base à une fonction qui convertit de manière itérative les nombres de texte en entiers.
La fonction, bien nommée text2int(), commence par initialiser le dictionnaire si cela n'a pas encore été fait. Ce dictionnaire contient des paires clé-valeur où les clés sont des mots numériques (par exemple, "un") et les valeurs sont des tuples représentant l'échelle (par exemple, 1) et l'incrément (par exemple, 1).
Lors de la conversion d'un nombre de texte (par exemple, « sept milliards cent millions trente et un mille trois cent trente-sept »), la fonction symbolise le texte et traite chaque mot. Si un mot n'est pas trouvé dans le dictionnaire, la fonction déclenche une exception indiquant un mot illégal rencontré.
Pour chaque mot valide, la fonction récupère son échelle et son incrément correspondant dans le dictionnaire. Il met à jour sa valeur actuelle en fonction de ces facteurs et effectue les calculs nécessaires. Le résultat de la conversion est obtenu en ajoutant la valeur actuelle finale au résultat cumulé.
En utilisant cette approche, la fonction peut convertir efficacement une large gamme de nombres de texte en leurs équivalents entiers.
Voici un exemple d'utilisation de la fonction text2int() :
textnum = "seven billion one hundred million thirty one thousand three hundred thirty seven" result = text2int(textnum) print(result) # Output: 7100031337
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!