Heim > Backend-Entwicklung > C++ > Wie können wir Ganzzahlen in C# effizient in ihre geschriebenen Zahlenäquivalente umwandeln?

Wie können wir Ganzzahlen in C# effizient in ihre geschriebenen Zahlenäquivalente umwandeln?

Linda Hamilton
Freigeben: 2025-01-12 19:56:44
Original
382 Leute haben es durchsucht

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

Effiziente Ganzzahl-in-Alphanumerische-Konvertierung

Das Konvertieren einer Ganzzahl in ihre Literaldarstellung ist eine häufige Programmieraufgabe. Allerdings kann es eine Herausforderung sein, Effizienz zu erreichen, ohne große Nachschlagetabellen zu verwenden. In diesem Artikel wird eine Möglichkeit untersucht, diese Einschränkung zu überwinden.

HumanFriendlyInteger-Klasse

Der Kern der Lösung ist eine Klasse namens HumanFriendlyInteger. Es enthält eine Reihe von Arrays zur Darstellung verschiedener Nennwerte (z. B. Einsen, Zehner usw.) und eine Methode namens FriendlyInteger, die die wörtliche Darstellung rekursiv aufbaut.

Literalzahlen rekursiv erstellen

Die

FriendlyInteger-Methode arbeitet rekursiv, um Literalzahlen zu konstruieren. Der Vorgang ist wie folgt:

  1. Grundfall: Wenn die Eingabe n 0 ist, wird das aktuelle leftDigits zurückgegeben (wird zur Verarbeitung der Ziffer ganz links verwendet).
  2. Einheiten und Zehner: Wenn n kleiner als 10 ist, verwenden Sie das Einheitenarray direkt, um die Literalform abzurufen. Für Werte zwischen 10 und 19 wird ein Zehner-Array verwendet.
  3. Zehnerstelle: Wenn n zwischen 20 und 99 liegt, konvertieren Sie n % 10 (die Einerstelle) rekursiv und stellen Sie ihr die Zehnerstelle voran (z. B. „Dreißig“).
  4. Hunderterstelle: ähnelt dem Zehnerstellenschritt, es konvertiert rekursiv n % 100 (Zehner- und Einerstelle) und stellt die Hunderterstellendarstellung davor voran.
  5. Tausende und mehr: Es konvertiert n % 1000 rekursiv und hängt die entsprechende Tausendstelgruppendarstellung an (z. B. „Tausend“, „Million“). Wenn n % 1000 0 ist, endet die Rekursion.

Hilfsmethoden

Die Methode

IntegerToWritten ist eine Wrapper-Funktion, die den Sonderfall negativer Zahlen und 0 verarbeitet und „Null“ zurückgibt.

Beispiel

Bedenken Sie die folgenden Anwendungsbeispiele:

<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>
Nach dem Login kopieren

Dieser Code gibt Folgendes aus:

<code>21 的文字形式:Twenty One</code>
Nach dem Login kopieren

Fazit

Dieser rekursive Ansatz bietet eine effiziente Möglichkeit, Ganzzahlen in ihre Literalform umzuwandeln, ohne auf große Nachschlagetabellen angewiesen zu sein. Durch die Aufteilung des Problems in kleinere Teile erzielt dieser Ansatz die gewünschten Ergebnisse mit minimalem Overhead.

Das obige ist der detaillierte Inhalt vonWie können wir Ganzzahlen in C# effizient in ihre geschriebenen Zahlenäquivalente umwandeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage