1

「diff_Box」というテキストボックスにデフォルト値「2.5」を指定し、別の目的で何かをチェックするために、この値を取得して「textbox5」という別のテキストボックスに貼り付けました。しかし、textbox5 では 25 と表示されています。非常に一般的な問題であることはわかっていますが、どうにか解決できません。私はソファを試しました。

double diff;

diff = Double.parse(diff_Box.Text);
diff = Convert.ToDouble(diff_Box.Text);



textBox5.Text = Convert.ToString(diff);
textBox5.Text = diff.ToString("F2");
textBox5.Text = ToString.parse(diff);

しかし、私はいつも同じ問題に遭遇しています

前もって感謝します

ここに画像の説明を入力

ここに画像の説明を入力

4

1 に答える 1

2

問題は、システム UI カルチャで使用されている形式を使用していないことです。実際にInvariantCultureGUI で を使用しています。

テキストボックスでa を使用します.。あなたの現在の UI 文化は を使用していると思います,。したがって、 の後に数字が表示されず、代わりに が.返されます。25.02.5

この行は、システム UI カルチャの代わりに InvariantCulture を使用して元に変換します。

double diff = Double.Parse(diff_Box.text, CultureInfo.InvariantCulture);

ただし、より良いアプローチは、プライベートを使用Double _diffし、フォームに表示するために必要なカルチャに変換することです。次に、ユーザーがデータ入力に UI カルチャを使用することを期待する必要があります。

于 2012-06-18T11:25:54.657 に答える