字符串到十进制解析C#

字符串到十进制解析C#,c#,C#,我试图在C#中解析字符串或将其转换为十进制 我需要能够解析字符串,比如 123345676.8999美元相当于123345676.90美元 我只需要小数点后2位,需要适当四舍五入 你们能建议一个方法来做上面的事情吗?基本上,任何货币形式的字符串(带有美元、英镑符号等)。我应该能够解析它并将其转换为十进制。非常简单的回答:使用可以用来执行解析的方法--link中有一些关于解析工作原理的示例。尝试以下方法: var val = double.Parse("$123,345,676.8999", Nu

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

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

123345676.8999美元相当于123345676.90美元

我只需要小数点后2位,需要适当四舍五入

你们能建议一个方法来做上面的事情吗?基本上,任何货币形式的字符串(带有美元、英镑符号等)。我应该能够解析它并将其转换为十进制。

非常简单的回答:使用可以用来执行解析的方法--link中有一些关于解析工作原理的示例。

尝试以下方法:

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

任何货币都可能出现重复,您需要小心舍入。在某些货币中,
x.8999
根本不会四舍五入。感谢奥斯汀……我会记住这一点……目前,我主要关心的是美国。