-1
Min = Convert.ToInt32(cbMin.SelectedItem);

これが私の問題です。その行を使用して、コンボボックスから整数変数に変換します。現在、ドロップダウンから「00」または「05」を選択すると、値は「0」または「5」としてのみ表示されます。数字が「0」で始まる場合にのみ発生するようです

何か不足していますか?

PS: ところで、コンボボックスをセットアップするとき、横のプロパティ セクションを使用して、コレクションに入力しました。私がそれをそこに投げたことを確認したかっただけです。

4

3 に答える 3

2

先行ゼロが必要な場合は、値を整数に変換しないでください。文字列を使用します

i.ToString("00")

これを試してみてくださいsoltuonはあなたのために働くでしょう

最終的なコードは

文字列 s = (Convert.ToInt32(cbMin.SelectedItem)).ToString("00")

編集

すでに valeu を 0 に割り当てている場合は、単に書き込む必要があります

string Min = cbMin.SelectedItem.ToString();
于 2012-04-11T15:47:10.177 に答える
2

整数には先行ゼロがありません。これらは数値データ型です。先頭のゼロは、文字列データ型でのみ使用できます。

  • int 0 は文字列 "0" と同じではありません
  • int 1 は文字列 "1" と同じではありません

先頭に 0 を付けて値を出力する必要があり、数学的な計算で使用しない場合は、文字列として保持する必要があります。そもそもintに変換しないでください。

計算を行うために整数として必要な場合は、int に変換する必要がありますが、先行ゼロが必要な場所ではフォーマットします。それを文字列に変換し、データ形式を使用して先頭のゼロを取得します。

"1".ToString("00") 「01」になります。

"15".ToString("00")「15」になります。

数値データ型の書式設定の詳細については、こちらのドキュメントとカスタム数値書式文字列 (上記の例で示した) のドキュメントを参照してください

于 2012-04-11T15:47:38.820 に答える
1

C#のように整数5を作成しても意味がありません。ただし、文字列にこの形式が必要な場合は、次のことができます。05

string Min = Convert.ToInt32(cbMin.SelectedItem).ToString("00");

または

string Min = String.Format("{0:0#}", Convert.ToInt32(cbMin.SelectedItem));
于 2012-04-11T16:02:51.217 に答える