Golang Alphabetische Darstellung einer Zahl
Gibt es eine einfache Möglichkeit zum konvertieren einer Zahl in einen Buchstaben?
Beispielsweise
3
=> "C"
und 23
=> "W"
?
- zwei Optionen - erstellen Sie ein array mit allen Buchstaben und erhalten, es ist index+1 aus einem array. Sekunde - verwenden Sie ascii-Tabelle und subtrahieren benötigte Anzahl.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einfachheit halber range-check weggelassen unten-Lösungen.
Sie können alle versucht werden auf die Gehen Spielplatz.
Nummer ->
rune
Fügen Sie einfach die Anzahl der const
'A' - 1
so hinzufügen1
diese erhalten Sie'A'
hinzufügen2
erhalten Sie'B'
etc.:Testen:
Ausgabe:
Nummer ->
string
Oder, wenn Sie es wollen, so eine
string
:Ausgabe:
Dieser letzten (Konvertierung einer Zahl zu
string
) ist dokumentiert in der Spec: die Konvertierung zu und von einem string-Typ:Nummer ->
string
(Cache)Wenn Sie brauchen, um dies zu tun eine Menge Zeit, es sich lohnt zu speichern die
strings
in einem array, zum Beispiel, und einfach nur wieder diestring
aus, dass:Hinweis: eine Scheibe (anstelle der array -) wäre auch in Ordnung.
Hinweis #2: können Sie diese verbessern, wenn Sie fügen Sie eine dummy-erste Zeichen, so dass Sie nicht haben, um zu subtrahieren
1
ausi
:Nummer ->
string
(slicing einestring
ständige)Auch eine interessante Lösung:
Slicing eine
string
ist effizient: die neuenstring
teilen der backing-array (es kann getan werden, weilstring
s sind unveränderlich).int32
. Wenn Sie eine Konstante wie'A'
, das entspricht einem Wert65
. Die Typenrune
undint32
sind ein und dasselbe, völlig austauschbar sind. Also, wenn Sie schreiben'A' + 1
, es ist das gleiche wie wenn du schreiben würdest65 + 1
.Die einfachste Lösung wäre
Hoffe, dies wird Ihnen helfen, Ihr problem zu lösen. Happy Coding!!