2

今日、最初に10進数を使用しているすべての場所がグリッド内にあり、ポイントの代わりにコンマを表示していることに気づきました。2番目の問題は、ポイントを使用して数字を編集または挿入するときです

「2.5」と入力したように、25として取得しました

それはサンプルコードのようなものです:

decimal a = Convert.ToDecimal("2.5");

a の結果は 25 です。

この問題は、iis と私のローカル マシンでも発生しています。

いたるところにあります、どうすれば修正できますか?

4

2 に答える 2

4

あなたは現在、どの文化にいますか?これは仕事をするはずです:

decimal a = Convert.ToDecimal("2.5", new CultureInfo("en-US"));

また、コンマが表示されている場合:

string s = a.ToString(new CultureInfo("en-US"));
于 2012-09-13T08:33:26.537 に答える
1

デフォルトのカルチャを変更するか、変換呼び出し(a)で特定のカルチャの使用を強制することで、おそらく修正できます。

私たちの素晴らしい、しかしどこか少し不穏なヨーロッパのいとこは、過去のある時点で小数点とコンマを混同してしまったので、35,000と7.2,5は次のように書かれています:

35.007,25

したがって、ほぼ確実に起こっているのは、カルチャ設定で千単位の区切り記号が (どこにあるかに関係なく) 破棄され、「2.5」25 になるということです。つまり、2.5 千 ( ) のような数値2,500はほぼ確実に二時半。


(a) : 実際、変換呼び出しで特定の文化を強制するべきではありません。文化の全体的なポイントは、人々のニーズに適応することだからです。ヨーロッパ人は、彼らにもっと理由を与えずに、すでに米国の機関についてほとんど考えていません:-) あなたが見ていることは、まさに起こっているはずのことです.

特定のカルチャが必要な場合は、マシンをそのように構成し、コードで既定値を使用できるようにします。

于 2012-09-13T08:41:30.900 に答える