Maison  >  Article  >  développement back-end  >  Comment pouvons-nous convertir efficacement des mots numériques en nombres entiers dans un texte ?

Comment pouvons-nous convertir efficacement des mots numériques en nombres entiers dans un texte ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-21 01:45:11576parcourir

How Can We Efficiently Convert Number Words to Integers in Text?

Conversion de mots numériques en nombres entiers

Obtention d'une représentation numérique à partir d'un formulaire texte

Conversion de texte représentant convertir des nombres en entiers correspondants est une tâche courante dans diverses applications. Comment cette transformation peut-elle être réalisée efficacement ?

Exploiter un dictionnaire mot-entier

Une approche consiste à créer un dictionnaire qui mappe les mots numériques à leurs équivalents numériques. Ce dictionnaire peut servir de table de recherche pour convertir des mots individuels en nombres entiers. La majorité du code fourni est dédiée à l'initialisation de ce dictionnaire (numwords).

Analyse et conversion du texte

Pour convertir l'intégralité de la représentation textuelle, le code divise le entrée dans les mots. Pour chaque mot, il recherche sa valeur entière correspondante dans le dictionnaire et l'incorpore dans l'entier final. Le code gère efficacement les mots représentant les unités (par exemple, « un », « deux »), les dizaines (par exemple, « vingt », « quatre-vingt-dix ») et les échelles (par exemple, « cent », « milliard »). Il reconnaît « et » comme délimiteur entre les nombres individuels.

Gestion des grands nombres

Le code considère également la possibilité de grands nombres. Si un mot représentant une échelle (par exemple, « cent ») est rencontré, la valeur entière actuelle est ajoutée au résultat, démarrant un nouveau cycle d'accumulation. Cela permet au code de représenter efficacement des nombres en milliards ou même au-delà.

Exemple d'utilisation

Voici un exemple qui démontre la fonctionnalité du code :

print text2int("seven billion one hundred million thirty one thousand three hundred thirty seven")
#7100031337

Sortie : le code convertit avec précision la représentation textuelle donnée en son équivalent entier, qui est 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!

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