加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 使用(Try)Parse将字符串空为Double

发布时间:2020-12-16 00:22:01 所属栏目:百科 来源:网络整理
导读:我在这里使用Parse构建系统,使用Parse转换值(现在是3.5). string myString = String.Empty;double myValue = double.Parse(myString); 抛出FormatException(我期望0.0). 如果我用2.0重写它 string myString = String.Empty;double myValue;if (double.TryPar
我在这里使用Parse构建系统,使用Parse转换值(现在是3.5).

string myString = String.Empty;
double myValue = double.Parse(myString);

抛出FormatException(我期望0.0).

如果我用2.0重写它

string myString = String.Empty;
double myValue;
if (double.TryParse(myString,out myValue))
    //do something

我得到了想要的0.0,但不幸的是我失去了获得有意义的错误消息的可能性(在else树中).

为什么给我解析错误和TryParse我的期望值?
有没有办法从TryParse中获取错误消息(时间不是问题)?

我不想那样解决它:

>使用if … then避免错误

myValue = myString.Length == 0 ? 0.0 : double.Parse(myString);

>如果发生错误,则发出两次通话

if (!double.TryParse(myString,out myValue))
    myValue = double.Parse(myString);

解决方法

如果无法解析字符串并且TryParse返回bool,则Parse会抛出异常.您可以处理此bool(如果解析成功,则为true,否则为false)以显示您要显示的成功/错误消息.

由于myValue是一个out参数,它必须由方法设置,因此,如果无法解析字符串,TryParse将其设置为0.0,这就是为什么在使用TryParse方法时获得该数字的原因.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读