Normalerweise würde ich string.Format()
verwenden, um eine formatierte Zeichenfolge zu erhalten.
Aber ich habe die Anforderung, dass alle Beträge als Text und nicht als Ziffern gedruckt werden sollten.
d. etwas wie:
%Vor%Gibt es eine .NET-Bibliothek, die das beherrscht (Russisch ist Pflicht)?
Gibt es eine .NET-Bibliothek, die das beherrscht (Russisch ist Pflicht)?
Kurze Antwort: Nein.
Sie müssen Ihre eigenen schreiben, ich würde Ihnen jedoch empfehlen, sich folgendes anzuschauen: Konvertieren von Zahlen in Wörter C # , Wie kann ich eine ganze Zahl in ihre verbale Darstellung umwandeln? und wie einer von diesen sagt, schauen Sie sich das Projekt Euler Problem Nr. 17 an und verwenden Sie es für weitere Google-Suchen.
Darüber hinaus haben Sie die Frage der Währungsnamen, sollte 'us'
die Währung oder die Sprache oder beides bezeichnen? Unterscheidet sich der kanadische Dollar vom US-Dollar?
Zum Beispiel ist dies eingebaut:
%Vor%Ich würde vorschlagen, dass Sie dort anfangen und sehen, wohin der Weg Sie führt.
Es gibt eine ausgereifte Bibliothek, um mit Ihnen zu arbeiten. Es heißt Humanizer.
Sie können sehen, worum es hier geht: NuGet-Paket der Woche: Humanizer macht .NET-Datentypen menschlicher
Das Open-Source-Projekt befindet sich auf GitHub
Wie Sie sehen können, tut es, was Sie brauchen, und viele weitere Dinge. Und es hat viele Lokalisierungen.
Einige Beispiele:
%Vor%%Vor%Sie können auch ein zweites Argument, GrammaticalGender, an ToWords übergeben, um anzugeben, in welchem Geschlecht die Nummer ausgegeben werden soll.
Ich habe mich umgesehen, aber ich konnte keine passende Version für die Konvertierung in eine englische Währung finden, daher habe ich einige in diese Lösung kombiniert:
%Vor%Und hier ist der Komponententest:
%Vor%Genießen Sie das funktioniert perfekt: D
Danksagungen
- LukeHs Antwort zum Konvertieren von Zahlen in Wörter für die
toWords
-Funktion. (Danke, Lankymart, dass Sie das gefunden haben.)- Andere nicht bekannt bitte bearbeiten und geben Sie Kredit wenn gefunden