826 Stimmen

Wie kann ich String in Int konvertieren?

Ich habe eine TextBoxD1.Text und ich möchte sie in eine int um sie in einer Datenbank zu speichern.

Wie kann ich das tun?

2 Stimmen

Gibt es einen bestimmten Nachteil bei der Verwendung von Convert.ToInt32()

16voto

Jacob Punkte 75084

Sie müssen die Zeichenkette parsen und sicherstellen, dass sie wirklich das Format einer ganzen Zahl hat.

Der einfachste Weg ist dieser:

int parsedInt = 0;
if (int.TryParse(TextBoxD1.Text, out parsedInt))
{
   // Code for if the string was valid
}
else
{
   // Code for if the string was invalid
}

13voto

Genießen Sie es...

int i = 0;
string s = "123";
i =int.Parse(s);
i = Convert.ToInt32(s);

12voto

Mohammad Rahman Punkte 209
int x = Int32.TryParse(TextBoxD1.Text, out x) ? x : 0;

11voto

atlaste Punkte 29028

Zwar gibt es hier bereits viele Lösungen, die die int.Parse Bei allen Antworten fehlt etwas Wichtiges. In der Regel unterscheiden sich die Darstellungen numerischer Werte je nach Kultur. Elemente numerischer Zeichenketten wie Währungssymbole, Gruppen- (oder Tausender-) Trennzeichen und Dezimaltrennzeichen unterscheiden sich je nach Kultur.

Wenn Sie eine robuste Methode zum Parsen einer Zeichenkette in eine ganze Zahl entwickeln wollen, ist es daher wichtig, die Kulturinformationen zu berücksichtigen. Wenn Sie das nicht tun, wird die aktuelle Kultureinstellungen verwendet werden. Das könnte dem Benutzer eine böse Überraschung bereiten - oder noch schlimmer, wenn Sie Dateiformate parsen. Wenn Sie nur die englische Sprache parsen wollen, ist es am besten, dies explizit zu machen, indem Sie die zu verwendenden Kultureinstellungen angeben:

var culture = CultureInfo.GetCulture("en-US");
int result = 0;
if (int.TryParse(myString, NumberStyles.Integer, culture, out result))
{
    // use result...
}

Weitere Informationen finden Sie auf CultureInfo, insbesondere NumberFormatInfo auf MSDN.

11voto

jorelli Punkte 7541
int x = 0;
int.TryParse(TextBoxD1.Text, out x);

Die TryParse-Anweisung gibt einen booleschen Wert zurück, der angibt, ob das Parsen erfolgreich war oder nicht. War sie erfolgreich, wird der geparste Wert im zweiten Parameter gespeichert.

Ver Int32.TryParse Methode (String, Int32) für ausführlichere Informationen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X