0.1のようなもの(テキストボックスのユーザーから)を変換しようとしたとき、私の値bは常にfalseです。
bool b = Decimal.TryParse("0.1", out value);
どうしてここで働くことができるのでしょうか?
パーティーには遅すぎますが、私は文化を米国に強制することを提案するつもりでしたが、不変はより良いslnです
decimal value;
bool b = Decimal.TryParse("0.1", NumberStyles.Any, new CultureInfo("en-US"), out value);
解析するカルチャを指定します。現在のカルチャでは、おそらく別の数値形式を使用しています。おそらく0,1
。
これにより、文字列が正常に解析されます。
bool b = Decimal.TryParse("0.1", NumberStyles.Any, CultureInfo.InvariantCulture, out value);
オーバーロードメソッドでCulture
を使用する