0

だから、アクセスデータベースからDataGridViewに値を取得するだけの単純なデータベースリーダーを作成しています。私が何を意味するかわかっている場合は、それらを組み込みのヘルプに接続して、DataSource を取得しました。そして、すべて問題ありませんが、「値」列に 1172,44 と書き留めると、アクセス時に 117244 として保存されるため、アプリケーションで開くと、保存された値であるため、値は 117244 になります。

アクセスと c# データセットの両方で、fieldsize プロパティが double に設定されています。10進数で試しましたが、エラーが発生するだけで、原因がわかりません。「、」をコンマとしてではなく「。」として読んでいるように思えます。ほとんどの場合、千区切り記号になり、それを削除するだけで、コンマのない数字になります。どうすれば修正できるか知っている人はいますか?ここで必要なコードを取得できます。質問するだけです。

ありがとう、ブルーノ・チャーターズ。(=

4

2 に答える 2

1

DataSet に格納されている double 値をカルチャに依存しない (不変) に設定して、グループと小数点の記号の表現を制御することができます。CultureInfoこれを行う 1 つの方法は、形式プロバイダーを使用して入力を解析することです。以下のコードは、 への変換を示しています"1172,44"1172.44d

var culture = (CultureInfo) CultureInfo.InvariantCulture.Clone();
culture.NumberFormat.NumberDecimalSeparator = ",";
culture.NumberFormat.NumberGroupSeparator = "."; 
var a = double.Parse("1172,44", culture);

Console.WriteLine(a); //outputs 1172.44
于 2012-04-10T17:27:45.247 に答える
0

コンマがグループ区切り記号として解釈されているというあなたの推測は、おそらく正しいでしょう。プロセスの CurrentCulture と CurrentUICulture を再確認し、場合によってはコンピューターの地域設定と、Access データベースの形式プロパティが設定されている場合はそれらを再確認することをお勧めします。

How to: Customize Data Formatting in the Windows Forms DataGridView Controlを読む必要があると思います。このシステムは多少複雑ですが、適切なカルチャ設定で実行できない場合は、UI に特定の形式を適用する柔軟性が得られるはずです。

于 2012-04-10T18:39:57.670 に答える