Maison > développement back-end > C++ > Comment pouvons-nous convertir efficacement des entiers en leurs équivalents numériques écrits en C# ?

Comment pouvons-nous convertir efficacement des entiers en leurs équivalents numériques écrits en C# ?

Linda Hamilton
Libérer: 2025-01-12 19:56:44
original
382 Les gens l'ont consulté

How Can We Efficiently Convert Integers to Their Written Number Equivalents in C#?

Conversion efficace d'entier en alphanumérique

Convertir un entier en sa représentation littérale est une tâche de programmation courante. Cependant, atteindre l’efficacité sans utiliser de grandes tables de recherche peut s’avérer difficile. Cet article explore une façon de surmonter cette limitation.

Classe HumanFriendlyInteger

Le cœur de la solution est une classe appelée HumanFriendlyInteger. Il contient un ensemble de tableaux pour représenter différentes valeurs faciales (par exemple des unités, des dizaines, etc.) et une méthode appelée FriendlyInteger qui construit de manière récursive la représentation littérale.

Construire récursivement des nombres littéraux

La méthode

FriendlyInteger fonctionne de manière récursive pour construire des nombres littéraux. Le processus est le suivant :

  1. Cas de base : Si l'entrée n est 0, renvoie le leftDigits actuel (utilisé pour gérer le chiffre le plus à gauche).
  2. Unités et dizaines : Si n est inférieur à 10, utilisez directement le tableau des unités pour récupérer la forme littérale. Pour les valeurs comprises entre 10 et 19, il utilise un tableau de dizaines.
  3. Chiffre des dizaines : Si n est compris entre 20 et 99, convertissez récursivement n % 10 (le chiffre des unités) et ajoutez-le au début de la représentation des chiffres des dizaines (par exemple, « Trente »).
  4. Chiffre des centaines : est similaire à l'étape des chiffres des dizaines, il convertit de manière récursive n % 100 (chiffres des dizaines et des unités) et ajoute la représentation des chiffres des centaines devant lui.
  5. Des milliers et plus : Il convertit de manière récursive n % 1000 et ajoute la millième représentation de groupe appropriée (par exemple, "Mille", "Million"). Si n % 1000 vaut 0, la récursion se termine.

Méthodes d'aide

La méthode

IntegerToWritten est une fonction wrapper qui gère le cas particulier des nombres négatifs et 0, renvoyant "Zéro".

Exemple

Considérez les exemples d'utilisation suivants :

<code class="language-csharp">using HumanFriendlyInteger;

public class Program
{
    public static void Main()
    {
        int number = 21;
        string writtenNumber = IntegerToWritten(number);

        Console.WriteLine($"{number} 的文字形式:{writtenNumber}");
    }
}</code>
Copier après la connexion

Ce code affichera :

<code>21 的文字形式:Twenty One</code>
Copier après la connexion

Conclusion

Cette approche récursive fournit un moyen efficace de convertir des entiers vers leur forme littérale sans recourir à de grandes tables de recherche. En divisant le problème en parties plus petites, cette approche permet d'obtenir les résultats souhaités avec un minimum de frais généraux.

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!

source:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal