C# 提示输入字符串的格式不正确。请问怎么解决?
堆栈跟踪:[FormatException:输入字符串的格式不正确]System.Number.StringToNumber(字符串str的NumberStyles选项,...
堆栈跟踪:
[FormatException:输入字符串的格式不正确] System.Number.StringToNumber(字符串str的NumberStyles选项,NumberBuffer及数量,的NumberFormatInfo信息,布尔parseDecimal)7469351 System.Number.ParseDouble(字符串值,的NumberStyles选项,的NumberFormatInfo numfmt) +115 System.Double.Parse(字符串s的NumberStyles风格,的NumberFormatInfo信息)192 System.Double.Parse(String s)方法+23 Default7.Count()在C:\ Documents和Settings \西溪\我的文档\ Visual Studio中2008 \网站已\网站8 \ Default7.aspx.cs:84 Default7.Button1_Click(对象发件人,EventArgs e)在C:\ Documents和Settings \西溪\我的文档\ Visual Studio 2008的\网站已\网站8 \ Default7.aspx.cs: 269 System.Web.UI.WebControls.Button.OnClick(EventArgs的发送)+111 System.Web.UI.WebControls.Button.RaisePostBackEvent(字符串EVENTARGUMENT)+110 System.Web.UI.WebControls.Button.System.Web.UI 。IPostBackEventHandler.RaisePostBackEvent(字符串EVENTARGUMENT)+10 System.Web.UI.Page.RaisePostBackEvent(作IPostBackEventHandler sourceControl,弦乐EVENTARGUMENT)+13 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection中的postData)+36 的System.Web.UI.Page 。ProcessRequestMain(布尔includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint) +1565 ————————————————————————————————我在做一个计算程序的时候TextBox1和TextBox2为输入参数,计算结果中有四个数据相互引用计算,当两个输入参数都有数值时没有错误,但是只输入一个参数另一个为空时计算就会出现上面的错误,可能是某一步计算的时候返回了空值,请问这种问题怎么处理,谢谢了!
//代入公式饱和温度
if (TextBox1.Text.Trim() == String.Empty && TextBox2.Text.Trim() == String.Empty){}
else{ if (TextBox2.Text.Trim() == String.Empty)
{ TextBox21.Text = double.Parse(TextBox22.Text).ToString(); }
else {
TextBox21.Text = double.Parse(TextBox2.Text).ToString(); } } 展开
[FormatException:输入字符串的格式不正确] System.Number.StringToNumber(字符串str的NumberStyles选项,NumberBuffer及数量,的NumberFormatInfo信息,布尔parseDecimal)7469351 System.Number.ParseDouble(字符串值,的NumberStyles选项,的NumberFormatInfo numfmt) +115 System.Double.Parse(字符串s的NumberStyles风格,的NumberFormatInfo信息)192 System.Double.Parse(String s)方法+23 Default7.Count()在C:\ Documents和Settings \西溪\我的文档\ Visual Studio中2008 \网站已\网站8 \ Default7.aspx.cs:84 Default7.Button1_Click(对象发件人,EventArgs e)在C:\ Documents和Settings \西溪\我的文档\ Visual Studio 2008的\网站已\网站8 \ Default7.aspx.cs: 269 System.Web.UI.WebControls.Button.OnClick(EventArgs的发送)+111 System.Web.UI.WebControls.Button.RaisePostBackEvent(字符串EVENTARGUMENT)+110 System.Web.UI.WebControls.Button.System.Web.UI 。IPostBackEventHandler.RaisePostBackEvent(字符串EVENTARGUMENT)+10 System.Web.UI.Page.RaisePostBackEvent(作IPostBackEventHandler sourceControl,弦乐EVENTARGUMENT)+13 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection中的postData)+36 的System.Web.UI.Page 。ProcessRequestMain(布尔includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint) +1565 ————————————————————————————————我在做一个计算程序的时候TextBox1和TextBox2为输入参数,计算结果中有四个数据相互引用计算,当两个输入参数都有数值时没有错误,但是只输入一个参数另一个为空时计算就会出现上面的错误,可能是某一步计算的时候返回了空值,请问这种问题怎么处理,谢谢了!
//代入公式饱和温度
if (TextBox1.Text.Trim() == String.Empty && TextBox2.Text.Trim() == String.Empty){}
else{ if (TextBox2.Text.Trim() == String.Empty)
{ TextBox21.Text = double.Parse(TextBox22.Text).ToString(); }
else {
TextBox21.Text = double.Parse(TextBox2.Text).ToString(); } } 展开
2个回答
展开全部
额,是否可以为空,如果不可以为空,那么运算前先判断一次两个参数是否为空,为空直接弹出提示。
更多追问追答
追答
第一,不要反复使用同一个判断,
直接bool a=textbox1.text.trim()………………,之后使用a就好了。同样反复的用if(a)完全是多余的,你后面的一系列都可以放到else里。
第二,我建议你先将每个textbox是否为空单独拿出来赋值给一个bool变量,这样便于调试。
第三,光一个string.empty是不够的。还可能出现其它情况比如乱七八糟的符号一样会报错。
第四,这个代码看得眼都花了,没法详细看。建议断点调试
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询