Ich weiß, dass Sie das Int in eine Zeichenfolge konvertieren und die Ziffer an Position x mit dem Indexer erhalten können, als ob es ein Char-Array wäre, aber diese Konvertierung wird ein wenig Aufwand, wenn Sie mit mehreren großen Zahlen zu tun haben.Erhalten Sie einzelne Ziffern von einem Int ohne Zeichenfolgen zu verwenden?
Gibt es eine Möglichkeit, eine Ziffer an Position x abzurufen, ohne die Zahl in eine Zeichenfolge umzuwandeln?
EDIT:
Vielen Dank, ich werde die vorgeschlagenen Methoden Benchmark und prüfen, ob es nicht besser ist, als in einen String zu konvertieren. Der Thread bleibt 24 Stunden unbeantwortet, falls jemand bessere Ideen hat.
EDIT 2:
Nach einigen einfachen Tests auf ulong Zahlen, ich habe festgestellt, dass in Strings konvertiert werden und das Extrahieren der Ziffer bis zu 50% langsamer verglichen werden können, um die Methoden unten bereitgestellt werden, sind genehmigt Antwort.
Mathmatisch ist es möglich, aber ich denke, dass wird nicht weniger über Kopf als Konvertieren in Zeichenfolge – sino
Sie könnten verschieben und konvertieren den verschobenen Wert in ein Zeichen. –
@sino: Ich würde definitiv erwarten, dass es weniger Overhead ist, als es in eine Zeichenkette umzuwandeln. Schließlich muss die Umwandlung in eine Zeichenfolge alle die gleichen Operationen ausführen * und * das Zeichenfolgenobjekt konstruieren. Wenn nur eine einzige Ziffer erforderlich ist, kann das OP außerdem stoppen, wenn es diese Ziffer erreicht hat. –