Umwandlung von string zu int ohne die null am Anfang
Versuchte ich int.parse,
- und convert-Klasse zur Konvertierung einer Zeichenfolge in int.
Während ich die Umwandlung. Ich bin zu verlieren, die 0 am Anfang, die ich nicht will.
Ex : 09999 wird 9999 - das will ich nicht.
Will ich ihn halten, wie es ist.
Wie kann ich das tun?
Mathematisch, die führende 0 ist unbedeutend. 09999 und 9999 sind gleich neun tausend neun hundert und neunzig-neun. Warum muss du immer die führende null, wenn es ist im wesentlichen die gleiche Anzahl?
Sie möchten eine integer Darstellung mit einer führenden null?
Das ist verwirrend. Ist das nur für Druck/Anzeige diese integer-Wert?
Nicht konvertieren es in ein
Sie konnte darauf zählen, dass die Länge der Zeichenfolge, dann konvertieren nach int, was du machen willst mit ihm, dann gehen Sie zurück zu String und fügen Sie Nullen zu seinem Anfang bis zu seiner Länge ist die gleiche Länge, wie es vorher war.
Sie möchten eine integer Darstellung mit einer führenden null?
Das ist verwirrend. Ist das nur für Druck/Anzeige diese integer-Wert?
Nicht konvertieren es in ein
int
.Sie konnte darauf zählen, dass die Länge der Zeichenfolge, dann konvertieren nach int, was du machen willst mit ihm, dann gehen Sie zurück zu String und fügen Sie Nullen zu seinem Anfang bis zu seiner Länge ist die gleiche Länge, wie es vorher war.
InformationsquelleAutor DarthVader | 2011-07-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nicht. Ein
int
soll einem mathematischen integer. Die zahlen09999
und9999
sind genau die gleiche Zahl, mathematisch.Vielleicht gibt es ein anderes problem hier. Warum brauchen Sie, um dies zu tun? Vielleicht gibt es eine bessere Weise, das zu tun, was Sie tun möchten.
InformationsquelleAutor NickAldwin
//D
steht für 'Decimal', und 5 ist die angegebene Menge der Ziffern, die Sie wollen die Anzahl der zu immer. Dies wird Ihr pad-Wert mit Nullen bis zu 5 stellen.vielen Dank für die Beantwortung dieser Frage, war genau das, was ich brauchte.
InformationsquelleAutor Nme
Wenn Sie wollen, etwas zu tun, wie immer drucken Sie Ihre Nummer mit 5 stellen, es geht wie
InformationsquelleAutor lincolnk
Nein,
int.Parse("09999")
tatsächlich gibt 0x0000270F. Genau 32 bits (denn das ist, wie großint
ist), 18 davon sind führende Nullen (um genau zu sein, ist ein Zeichen etwas, man könnte meinen es gibt nur 17 führende Nullen).Es ist nur, wenn Sie es zu konvertieren zurück zu einem string, den Sie erhalten, "9999", die Anwesenheit oder Abwesenheit der führenden null in den besagten string wird gesteuert durch die Konvertierung zurück zu string.
InformationsquelleAutor Ben Voigt
können Sie nicht. Sie haben zu halten den Wert als string, wenn Sie wollen, dass es auch so bleiben.
InformationsquelleAutor danielea
Int-Werte haben können führende Nullen
int
Werte haben führende Nullen (null-bits).Hehe, du hast Recht! 🙂
InformationsquelleAutor Andrey S
Wenn Sie nur die Konvertierung von int zu testen, der Wert, behalten Sie die ursprünglichen Daten um und verwenden Sie die Zeichenfolge, wenn Sie wollen, dass die führenden zeor. Wenn Sie die ganze Zahl null Polsterung nach mathematisch arbeiten mit, müssen Sie ihn formatieren mit sprintf oder ähnliches, wenn Sie ausgegeben werden.
InformationsquelleAutor Mark
du nicht, aber wenn Sie brauchen, um casten zu int und halten Sie die Nullen können Sie eine Kopie erstellen und dann casten auf int, dann haben Sie zwei Versionen von einem int und einem string.
InformationsquelleAutor aruss
InformationsquelleAutor Tushar
Dies ist zwar ein Alter thread, aber das kann auch helfen:
InformationsquelleAutor Gauravsa