2011-08-04 121 views
1

我想解析或轉換爲C#中的十進制字符串。字符串到十進制解析C#

我需要能夠解析字符串一樣,

$ 123,345,676.8999爲它的等效123345676.90。

我需要在小數點後只有2個地方,並需要適當的四捨五入。

你們可以請建議一種方法來做到上述?基本上,貨幣形式的任何字符串(帶有$,磅符號等)。我應該能夠解析它並將其轉換爲十進制。

+1

http://stackoverflow.com/questions/2753701/convert-any-currency-string-to-double –

+0

的可能重複使用正則表達式。 –

+0

使用_any_貨幣,您需要小心四捨五入。有些貨幣'x.8999'根本不會被舍入。 –

回答

12

試試這個:

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

謝謝你的工作。 – Tendulkar

2

您可以使用decimal.TryParse進行解析 - 鏈接對如何解析的作品一些樣品。