2011-11-15 43 views
1

我有問題將此字符串轉換爲小數。我試圖按照這裏的文檔沒有運氣:Decimal.TryParse Method使用Decimal.TryParse轉換蒙面貨幣字符串

string stringVal = "-(3434343434.00)"; 

NumberStyles style = NumberStyles.AllowDecimalPoint | NumberStyles.AllowThousands | 
    NumberStyles.AllowParentheses | NumberStyles.AllowLeadingSign; 

CultureInfo culture = CultureInfo.CreateSpecificCulture("en-US"); 

decimal value; 
bool parseSuccess = decimal.TryParse(stringVal, style, culture, out value); 

parseSuccess返回false。

+2

'decimal.TryParse'不是表達式計算器。給它一個數字。 –

回答

3

您的字符串中既有()也有-。這是不正確的,這就是爲什麼你的字符串不解析。

見單證爲AllowParentheses

AllowParentheses:表示數字串可以具有一對括號包圍的數量。圓括號表示要解析的字符串表示負數。

+0

謝謝!我現在意識到的符號和圓括號的創建是Telerik的RadMaskedEditBox控件中的一個錯誤,這是我獲取字符串的地方。 – mservidio

4

我認爲 - 符號和括號在同一時間是無效的。 -343434343434.00按原樣(3434343434.00),但 - (3434343434.00)無效。 - (3434343434.00)沒有任何意義,它使用2種不同的方法來表示否定,因此有點多餘。