In verschiedenen Programmierszenarien ist es eine häufige Nachfrage, die Dezimalzahlen in andere Fortschritte umzuwandeln. Die Unterstützung von .NET Framework für diesen Vorgang ist begrenzt, kann jedoch eine benutzerdefinierte Methode realisieren, die Zahlen in eine beliebige In -Laws mit jedem Zeichen umwandelt.
convert.toString () Methode kann nur Zahlen in Folgendes konvertieren: 2, 8, 10 oder 16. Wenn Sie den nicht standardmäßigen Fortschritt verwenden müssen, kann diese Grenze begrenzt sein.
Die angepasste Realisierung von willkürlich fortgeschrittener und übereinstimmenderübereinstimmt
Um Zahlen in jeden Fortschritt umzuwandeln, können Sie eine benutzerdefinierte Methode implementieren. Eine einfache Methode lautet wie folgt:
Diese Methode wird mit der Eingangsnummer geteilt durch das Ziel iteriert und die verbleibende Zahl an die Ergebniszeichenfolge angeschlossen. Die in der entgegengesetzten Reihenfolge konstruierten Ergebnisse und der numerische auf der ganzen rechts erschien zuerst.Optimierung: Verwenden Sie Arraypuffer
<code class="language-csharp">public static string IntToString(int value, char[] baseChars) { string result = string.Empty; int targetBase = baseChars.Length; do { result = baseChars[value % targetBase] + result; value = value / targetBase; } while (value > 0); return result; }</code>
Um die Leistung großer Zahlen zu verbessern, wird empfohlen, Array -Puffer anstelle der String -Verbindung zu verwenden:
Diese Optimierung ist für große Zahlen mit vielen Ziffern im Zielfortschritt besonders effektiv. Für kleine Zahlen (eine Ziffernzahl im Ziel) ist die Intostration normalerweise schneller.
Das obige ist der detaillierte Inhalt vonWie kann ich Basis 10 -Zahlen in eine Basis in .NET konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!