Maison > développement back-end > tutoriel php > Comment convertir des mots en nombres en PHP ?

Comment convertir des mots en nombres en PHP ?

DDD
Libérer: 2024-11-07 12:53:02
original
1107 Les gens l'ont consulté

How do I convert words to numbers in PHP?

Conversion de mots en nombres en PHP : un guide complet

Question :

Y a-t-il un moyen simple de convertir des valeurs numériques exprimées sous forme de mots en entiers en PHP ?

Réponse :

Bien qu'il existe de nombreuses ressources pour convertir des nombres en mots, trouver la fonction inverse peut être un défi. Voici une approche complète qui exploite un algorithme bien défini :

Étapes :

  1. Tokénisation :

    • Divisez la chaîne d'entrée en mots individuels appelés jetons.
    • Les jetons courants incluent :

      • PUISSANCE : mille, millions, milliards
      • CENT : cent
      • DIX : vingt, trente... quatre-vingt-dix
      • UNITÉ : un, deux, trois, ... neuf
      • SPÉCIAL : dix, onze, douze, ... dix-neuf
  2. Analyse de droite à gauche :

    • Commencer à partir du jeton le plus à droite.
    • Regroupez les jetons consécutifs pour faire correspondre des modèles représentant des combinaisons de jetons UNIT, CENT, DIX et SPECIAL. Par exemple :

      • UNITÉ CENT DIX UNITÉ
      • UNITÉ CENT UNITÉ
      • SPÉCIAL
  3. Convertir en nombres :

    • Traduisez chaque motif en sa valeur numérique correspondante (par exemple, "vingt et un" -> 21).
    • Agrégez ces valeurs pour obtenir le nombre final.
  4. Traitement itératif :

    • Si l'analyse de droite à gauche atteint un jeton POWER, redémarrez le processus à la PUISSANCE la plus élevée suivante ou à la fin de la chaîne.
    • Continuez jusqu'à ce que vous atteigniez le début de la chaîne.

Exemple :

Considérez la chaîne d'entrée "L'iPhone a deux cent trente mille sept cent quatre-vingt-trois applications."

  • Tokénisation : ["iPhone", "a", "deux", "cent", "et", "trente", "mille", "sept", "cent", "et", "quatre-vingts", "trois" , "apps"]
  • Analyse de droite à gauche :
  "three" -> 3
  "eighty" -> 80
  "and" -> (ignored)
  "seven" -> 7
  "hundred" -> 700
  "and" -> (ignored)
  "thirty" -> 30
  "thousand" -> 30000
  "two" -> 2
  "hundred" -> 200
  "and" -> (ignored)
Copier après la connexion
  • Convertir en nombres :
  30000 + 200 + 30 + 700 + 80 + 3 = 230783
Copier après la connexion

Par conséquent, « L'iPhone a deux cent trente mille sept cent quatre-vingt-trois applications » devient « L'iPhone a 230 783 applications. »

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