输入字符串格式不正确 - 将文本框文本转换为Int32

时间:2011-06-13 04:50:17

标签: c# asp.net

    Postalcode = Convert.ToInt32(txtcity.Text);
    Mobileno = Convert.ToInt32(txmobileno.Text);
    Phoneno = Convert.ToInt32(txtphoneno.Text);

我收到此错误请任何一个帮助

4 个答案:

答案 0 :(得分:5)

你确定你的txtcity只包含数字......你试图将txtcity转换为数字并存储在邮政编码中......

此外,如果您要检查解析的文本是否为数字,请使用Int32.TryParse()方法

TryParse方法会将您的字符串转换为int,否则将返回false ...

http://msdn.microsoft.com/en-us/library/system.int32.tryparse.aspx

此处提供了一个示例http://msdn.microsoft.com/en-us/library/f02979c7.aspx#Y1170

答案 1 :(得分:2)

因此意味着您的一个文本框值无法转换为有效整数。您可以尝试使用以下

int city = 0;
if(int.TryParse(txtcity.Text, out city))
{
  Postalcode = city;
}

答案 2 :(得分:0)

您希望如何将城市转换为整数? 电话号码和手机号码也可以有()或 - ,因此无法转换为整数。

答案 3 :(得分:0)

您的文本框很可能返回非数字值,导致Convert.ToInt32失败。您可以使用字符串变量PostalCode,Mobileno和Phoneno字段(我推荐这些字段,因为这些字段通常包含字母数字字符,如+ 91或123-123或FA1203)

但是,如果您太热衷于仅使用Integer,那么请使用Int32.TryParse以避免指定的运行时错误。