22

(テキストボックスのユーザーから)0.1のようなものを変換しようとすると、値bは常にfalseになります。

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

どうやってここで働くことができますか?

4

3 に答える 3

43

解析のカルチャを指定します。あなたの現在の文化は、おそらく、いくつかの異なる数値形式を使用しています0,1

これにより、文字列が正常に解析されます。

bool b = Decimal.TryParse("0.1", NumberStyles.Any, CultureInfo.InvariantCulture, out value);
于 2012-07-03T13:10:47.487 に答える
13

パーティーには遅すぎますが、私は文化をen-USに強制することを提案するつもりでしたが、Invariantはより良いslnです

decimal value;
bool b = Decimal.TryParse("0.1", NumberStyles.Any, new CultureInfo("en-US"), out value);
于 2012-07-03T13:12:45.800 に答える
10

Cultureオーバーロードメソッドで使用

于 2012-07-03T13:09:23.590 に答える