我想解析或转换为C#中的十进制字符串。字符串到十进制解析C#
我需要能够解析字符串一样,
$ 123,345,676.8999为它的等效123345676.90。
我需要在小数点后只有2个地方,并需要适当的四舍五入。
你们可以请建议一种方法来做到上述?基本上,货币形式的任何字符串(带有$,磅符号等)。我应该能够解析它并将其转换为十进制。
我想解析或转换为C#中的十进制字符串。字符串到十进制解析C#
我需要能够解析字符串一样,
$ 123,345,676.8999为它的等效123345676.90。
我需要在小数点后只有2个地方,并需要适当的四舍五入。
你们可以请建议一种方法来做到上述?基本上,货币形式的任何字符串(带有$,磅符号等)。我应该能够解析它并将其转换为十进制。
试试这个:
var val = double.Parse("$123,345,676.8999", NumberStyles.AllowThousands | NumberStyles.AllowDecimalPoint | NumberStyles.AllowCurrencySymbol);
val = Math.Round(val, 2);
谢谢你的工作。 – Tendulkar
非常简单的答案:使用Decimal.Parse()
您可以使用decimal.TryParse
进行解析 - 链接对如何解析的作品一些样品。
http://stackoverflow.com/questions/2753701/convert-any-currency-string-to-double –
的可能重复使用正则表达式。 –
使用_any_货币,您需要小心四舍五入。有些货币'x.8999'根本不会被舍入。 –