Hoe kan ik String naar Int converteren?

Ik heb een TextBoxD1.Text en ik wil het omzetten naar een int om het op te slaan in een database.

Hoe kan ik dit doen?

Oplossing

Probeer dit eens:

int x = Int32.Parse(TextBoxD1.Text);

of beter nog:

int x = 0;

Int32.TryParse(TextBoxD1.Text, out x);

En omdat Int32.TryParse een bool teruggeeft, kun je de teruggegeven waarde gebruiken om beslissingen te nemen over de resultaten van de parseerpoging:

int x = 0;

if (Int32.TryParse(TextBoxD1.Text, out x))
{
    // you know that the parsing attempt
    // was successful
}

Als je nieuwsgierig bent, het verschil tussen Parse en TryParse is het beste als volgt samen te vatten:

De TryParse methode is als de Parse methode, behalve dat de TryParse methode gooit geen exception als de conversie mislukt. Het elimineert de noodzaak om exception handling te gebruiken om te testen voor een FormatException in het geval dat s ongeldig is en niet kan worden succesvol geparseerd kan worden. - MSDN

Commentaren (8)
Convert.ToInt32( TextBoxD1.Text );

Gebruik dit als u er zeker van bent dat de inhoud van het tekstvak een geldige int is. Een veiliger optie is

int val = 0;
Int32.TryParse( TextBoxD1.Text, out val );

Dit zal je een standaard waarde geven die je kunt gebruiken. Int32.TryParse geeft ook een booleaanse waarde terug die aangeeft of het mogelijk was om te parsen of niet, dus je kunt het zelfs gebruiken als de voorwaarde van een if statement.

if( Int32.TryParse( TextBoxD1.Text, out val ){
  DoSomething(..);
} else {
  HandleBadInput(..);
}
Commentaren (2)
int.TryParse()

Het zal niet gooien als de tekst niet numeriek is.

Commentaren (2)