web-dev-qa-db-ja.com

Decimal.TryParseは私の10進値を解析しません

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

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

どうしてここで働くことができるのでしょうか?

21
cadi2108

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

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

解析するカルチャを指定します。現在のカルチャでは、おそらく別の数値形式を使用しています。おそらく0,1

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

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

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

10
burning_LEGION