协慌网

登录 贡献 社区

如何将 String 转换为 Int?

我有一个TextBoxD1.Text ,我想将其转换为一个int以将其存储在数据库中。

我怎样才能做到这一点?

答案

试试这个:

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

或更好的是:

int x = 0;

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

另外,由于Int32.TryParse返回bool您可以使用其返回值来决定解析尝试的结果:

int x = 0;

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

如果您很好奇, ParseTryParse之间的区别总结如下:

TryParse 方法类似于 Parse 方法,但是如果转换失败,TryParse 方法不会引发异常。如果 s 无效且无法成功解析,则无需使用异常处理来测试 FormatException。 -MSDN

Convert.ToInt32( TextBoxD1.Text );

如果您确信文本框的内容是有效的int ,请使用此选项。一个更安全的选择是

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

这将为您提供一些您可以使用的默认值。 Int32.TryParse还返回一个布尔值,指示它是否能够解析,因此您甚至可以将其用作if语句的条件。

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

如果文本不是数字,则不会抛出该错误。