2011-11-15 19 views
1

この文字列を10進数に変換する際に問題があります。私は運とここのドキュメントに従ってみました:Decimal.TryParse MethodDecimal.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:数値文字列が数値を括弧のペアを1つ持つことができることを示します。括弧は、解析される文字列が負の数を表すことを示します。

+0

ありがとう!私が今実現している記号と括弧の作成はTelerikのRadMaskedEditBoxコントロールのバグです。これは文字列を取得する場所です。 – mservidio

4

私は同時に記号と括弧が正しくないと思います。 -3434343434.00はそのまま(3434343434.00)でも - (3434343434.00)は無効です。 - (3434343434.00)は実際には負であることを示すために2つの異なる方法を使用していて意味がありません。

関連する問題