0

すべて、

初期化ファイルから1.5の値を読み取り、Windowsフォームのテキストコントロールに1.50000として表示しようとしています。

コードは次のとおりです。

string value = ini.Read( "Form", "value" );
this.textcontrol.Text = String.Format( "{0:F5}", value );

「value」変数には1.5が含まれていますが、テキストコントロールにも1.50000ではなく1.5が表示されます。

私は何が間違っているのですか?

ありがとうございました。

[編集]

提案されたように、私は次のことをしようとしました:

var doublevar = double.Parse( value, CultureInfo.InvariantCulture );
this.textcontrol.Text = doublevar.ToString( "{0:F5}" );

しかし、私がコントロールで見たのは{1:F5}です。

何か案が?

[/編集]

4

5 に答える 5

2

値を文字列として読み取っています。そのようなフォーマットが機能するように、それを2倍に変換したいとします。

string valueText = ini.Read( "Form", "value" );
var value  = double.Parse(valueText);
于 2012-08-21T20:15:01.960 に答える
2

こんな感じになります

string value = ini.Read( "Form", "value" );
this.textcontrol.Text = String.Format("{0:0.00000}",  double.Parse(value));

詳細は次のとおりです。Doubleの文字列形式[C#]

于 2012-08-21T20:18:08.673 に答える
1

値を10進変数に割り当てる必要があります。

以下のコード例が機能します。

decimal value = 1.5m;
this.txtEditAcquisitionUpb.Text = String.Format( "{0:F5}", value );
于 2012-08-21T20:18:12.463 に答える
1

それを正しくするために他の答えを組み合わせる:

string valueString = ini.Read("Form", "value");
double valueDouble = double.Parse(valueString);
this.textcontrol.Text = valueDouble.ToString("F5");

が変化するマシンでこれが実行される可能性がある場合は、のオーバーロードの使用をCultureInfo検討してください。これには。が含まれます。ParseToStringIFormatProvider

于 2012-08-21T22:30:07.303 に答える
0

あなたは一見することができます。 http://msdn.microsoft.com/en-us/library/s8s7t687.aspx

また、試してみてください:

double.Parse(value);
于 2012-08-21T20:16:09.937 に答える