问题描述
||
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以避免指定的运行时错误。