2012-07-03 19 views
17

私は0.1(テキストボックスのユーザーから)のように変換しようとしたとき、私の値bは常にfalseです。Decimal.TryParseは小数値を解析しません

bool b = Decimal.TryParse("0.1", out value); 

ここでどのように動作させることができますか?オーバーロードメソッドで

+0

いただきましたです例外? – HatSoft

+9

あなたのロケールは何ですか? – penartur

+0

それは私のために働いています、あなたはそれを使用する前に値を言及しましたか? –

答えて

8

を、私はEN-US不変だけにculutureを強制的に提案するつもりだったが、より良いSLN

decimal value; 
bool b = Decimal.TryParse("0.1", NumberStyles.Any, new CultureInfo("en-US"), out value); 
10

使用Culture

+1

それはflashmob =) –

39

解析のための文化を指定します。現在のカルチャーでは、おそらく0,1という異なる数字形式が使用されています。

これが正常に文字列を解析します:遅すぎる相手に

bool b = Decimal.TryParse("0.1", NumberStyles.Any, CultureInfo.InvariantCulture, out value); 
+0

これは本当の解決策です –

関連する問題