当前位置:  开发笔记 > 编程语言 > 正文

Convert.ToDecimal(string)和Decimal.Parse(string)之间的区别

如何解决《Convert.ToDecimal(string)和Decimal.Parse(string)之间的区别》经验,为你挑选了3个好方法。

C#Convert.ToDecimal(string)Decimal.Parse(string)?之间有什么区别?

在什么情况下你会使用一个而不是另一个?

它对性能有何影响?

在两者之间进行选择时,我应该考虑哪些其他因素?



1> James Newton..:

要记住一个重要的区别:

Convert.ToDecimal0如果给它一个null字符串将返回.

decimal.ParseArgumentNullException如果要解析的字符串是,则抛出一个null.



2> Guy Starbuck..:

来自bytes.com:

Convert类用于转换各种类型,因此您可以使用Decimal.Parse将更多类型转换为Decimal,而Decimal.Parse只能处理String.另一方面,Decimal.Parse允许您指定NumberStyle.

十进制和十进制是别名并且是相等的.

对于Convert.ToDecimal(string),在内部调用Decimal.Parse.

Morten Wennevik [C#MVP]

由于Decimal.Parse是由Convert.ToDecimal在内部调用的,如果您有极端的性能要求,您可能希望坚持使用Decimal.Parse,它将保存堆栈帧.



3> David J. Sok..:

您可能没有想到的一个因素是Decimal.TryParse方法.双方Convert.ToDecimalParse抛出异常,如果他们不能将字符串转换为正确的十进制格式.TryParse方法为您提供了一个很好的输入验证模式.

decimal result;
if (decimal.TryParse("5.0", out result))
   ; // you have a valid decimal to do as you please, no exception.
else
   ; // uh-oh.  error message time!

对于错误检查用户输入,这种模式非常令人难以置信.

推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有