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

问题描述

||
    Postalcode = Convert.ToInt32(txtcity.Text);
    Mobileno = Convert.ToInt32(txmobileno.Text);
    Phoneno = Convert.ToInt32(txtphoneno.Text);
我收到此错误,请任何人帮助     

解决方法

        您确定您的txtcity仅包含数字...您正在尝试将txtcity转换为数字并存储在邮政编码中... 此外,如果要检查解析的文本是否为数字,请使用
Int32.TryParse()
方法 TryParse方法会将您的字符串转换为int,或者在不可能的情况下返回false。 http://msdn.microsoft.com/zh-CN/library/system.int32.tryparse.aspx 此处提供了一个示例,网址为http://msdn.microsoft.com/zh-cn/library/f02979c7.aspx#Y1170     ,        因此,这意味着您的文本框值之一无法转换为有效的整数。您可以尝试使用以下内容
int city = 0;
if(int.TryParse(txtcity.Text,out city))
{
  Postalcode = city;
}
    ,        您如何期望将城市转换为整数? 电话和手机号码也可以带有()或-,因此不能将它们转换为整数。     ,        您的文本框很可能返回非数字值,从而导致Convert.ToInt32失败。您可以使用字符串变量PostalCode,Mobileno和Phoneno字段(我建议您使用这些字段,因为这些字段通常倾向于包含字母数字字符,例如+91或123-123或FA1203) 但是,如果您太热衷于仅使用Integer,请使用Int32.TryParse以避免指定的运行时错误。