Decimal.Parse() 与 Convert.ToDecimal() [重复]

Posted

技术标签:

【中文标题】Decimal.Parse() 与 Convert.ToDecimal() [重复]【英文标题】:Decimal.Parse() vs Convert.ToDecimal() [duplicate] 【发布时间】:2013-11-08 20:22:48 【问题描述】:

我想知道标题中的两种方法有什么区别吗?

string str = "14.75";
Console.WriteLine(Decimal.Parse(str));
Console.WriteLine(Convert.ToDecimal(str));

谁能告诉我?谢谢。

【问题讨论】:

msdn.microsoft.com/en-us/library/… Convert 有更多的重载来获取其他类型。 TryParse 也是一个很棒的工具,因为它不会在失败时轰炸你。 "使用 ToDecimal(String) 方法相当于将值传递给 Decimal.Parse(String) 方法。" msdn.microsoft.com/en-us/library/hf9z3s65.aspx 我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。 直接来自 MSDN 关于 Convert.ToDecimal() 的文档:返回值是调用 Decimal.Parse 方法 onvalue 的结果。 【参考方案1】:

Decimal.Parse 仅支持解析字符串值,而Convert 也支持其他类型,如对象、intbyteDateTime 等。

【讨论】:

不仅,不仅。关于它的另一点:***.com/questions/15394032/…

以上是关于Decimal.Parse() 与 Convert.ToDecimal() [重复]的主要内容,如果未能解决你的问题,请参考以下文章

C#中decimal.Parse(t70OnlinePrice.Value)保留两位小数

为啥逗号在 int.Parse() 和 decimal.Parse() 中与 InvariantCulture 的行为不同?

C# Decimal.parse的问题。有字符串 3.10 如何转换成decimal时不会变成3.1。我需要的是完整的3.10

C# 错误的十进制解析/转换

收益计算器(用decimal类型)

C#科学计数字符串,如“7.1e-003”转换为decimal类型数据