字符串到十进制解析C#

我试图在C#中解析或转换字符串为十进制。

我需要能够解析字符串,如,

相当于123345676.90的123,345,676.8999美元。

我需要在小数点后只有2个位置,并且需要适当舍入。

你们可以建议一种方法来做上述事情吗? 基本上,任何货币forms的字符串(带有$,英镑符号等)。 我应该能够解析它并将其转换为十进制。

试试这个:

 var val = double.Parse("$123,345,676.8999", NumberStyles.AllowThousands | NumberStyles.AllowDecimalPoint | NumberStyles.AllowCurrencySymbol); val = Math.Round(val, 2); 

您可以使用decimal.TryParse来执行解析 – 该链接包含有关解析如何工作的一些示例。

很简单的答案:使用Decimal.Parse()