18

固定桁数の数字が必要です。

例: 00001、00198、48484

私はこのようにすることができます:

    string value;
    if (number < 10)
        value = "0000" + number.ToString();
    else if (number < 100)
        value = "000" + number.ToString();
    else if (number<1000)
    ...

しかし、これは少し奇妙です。私の目的のために組み込み関数はありますか?

4

9 に答える 9

28

はいあります:

string value = String.Format("{0:D5}", number);
于 2013-09-26T11:00:57.863 に答える
23

MS リファレンスによると: http://msdn.microsoft.com/en-us/library/dd260048.aspx

「D」標準 数値フォーマット文字列を精度指定子と一緒に使用することにより、整数の先頭にゼロを埋め込むことができます。カスタムの数値フォーマット文字列を使用して、整数と浮動小数点数の両方に先行ゼロを埋め込むことができます。

そう:

整数を 10 進値として表示するには、その ToString(String) メソッドを呼び出し、文字列 "Dn" を format パラメーターの値として渡します。ここで、n は文字列の最小の長さを表します。

コード:

string value = number.ToString("D5");

.NET フィドル: http://dotnetfiddle.net/0U9A6N

于 2013-09-26T11:02:25.787 に答える
5

ToString()カスタムフォーマットでメソッドを使用する必要があります- docs を参照してください。特に0指定子。

ゼロが存在する場合は、対応する数字でゼロを置き換えます。それ以外の場合は、結果文字列にゼロが表示されます。

例えば、

value = number.Tostring("00000");
于 2013-09-26T11:01:07.803 に答える
3
string value = number.ToString("00000");
于 2013-09-26T11:00:52.797 に答える
3

あなたはこのようにすることができます:

number.ToString("00000")
于 2013-09-26T11:02:51.187 に答える
2
int input_number = Convert.ToInt32(txtinput.Text);
string number_value = input_number.ToString("00000");

それがあなたの問題を解決することを願っています。以前のプロジェクトではうまくいきました。開発でこのコードをテストします。間違いなく適切に機能するはずです。

于 2013-09-26T12:48:10.913 に答える
2

5 桁の数字を返したい場合は、PadLeft() 関数を使用する必要があります。

int Value = 101;
char pad = '0';
String sValue = Value.ToString();

sValue  = sValue.s.PadLeft(5, char)

この場合、ゼロを 1 つ、2 つ、または 3 つ追加するかどうかをテストする必要はありません。5 桁の数字にするために必要なゼロの数が自動的に追加されます。

于 2013-09-26T11:04:06.170 に答える
-2

とは別に、String.PadLeftString.Formatも使用できます

value = number.ToString().PadLeft(5, '0');
于 2013-09-26T11:01:02.390 に答える