1

重複の可能性:
C# は、パディング ゼロを使用して int を文字列に変換しますか?

乱数を生成しようとしていますが、「0000000、9999999」を含めた範囲では、数値が生成されたときにこれらのゼロを表示したいと思います。たとえば、次の出力は次のようになります。

「00037544」「01659369」「75484957」「00000001」

私は以下を使用しています:

    int num = rnd.Next(0000000, 9999999);

それに関する問題は、時々生成されることです:

「1648」「947596」「18500」など

欠けているものはありますか?

ご覧いただきありがとうございます

4

5 に答える 5

9

文字列に変換してから、を使用する必要がありますPadLeft

string number = num.ToString().PadLeft(7, '0');

または単に

string number = num.ToString("0000000");
于 2012-11-07T12:27:07.440 に答える
8

int数字を表すだけです。ゼロがいくつあるかはわかりません。

その数値を表示するときは、必要なだけ先頭にゼロを付けることができます。

たとえばnum.ToString("D7")は、 と同様に、7 桁の長さにするのに十分な先行ゼロを持つ文字列を作成しますString.Format("{0:D7}", num)Console.WriteLine("{0:D7}", num)同じように動作します。

于 2012-11-07T12:31:31.810 に答える
0

ドキュメントを見てください。

整数を生成しているので、それらをフォーマットする必要があります。のようなものnum.ToString("0000000")で十分です。

于 2012-11-07T12:27:48.347 に答える
0

左側にゼロがある数値は、これらのゼロがない同じ数値と論理的に同じです。あなたが欲しいのは、画面にゼロを印刷する方法だと思います。

例:5は00005に等しい; しかし、5桁の数字5を印刷したいとします。これを行う方法は言語によって異なります。

于 2012-11-07T12:28:35.563 に答える
0

これを試して:

          Random rnd = new Random();
        int num = rnd.Next(0000000, 9999999);
        string num2 = num.ToString("D7");
于 2012-11-07T12:36:40.587 に答える