17

40桁のカウンター変数を作成する必要があります。として開始し0000000000000000000000000000000000000001
、に増分する必要があります
0000000000000000000000000000000000000002

このクラスを使用すると、intすべてのゼロが切り捨てられます。問題は、数値をインクリメントしてから、正しい数の先行ゼロを含む文字列に変換する必要があることです。合計サイズは40桁である必要があります。たとえば、50に達すると、次のようになります。

0000000000000000000000000000000000000050

どうすればそれを実行してゼロを保持できますか?

4

5 に答える 5

38

文字列に変換するときに、整数を使用して結果をフォーマットまたはパディングします。そのような

int i = 1;
string s = i.ToString().PadLeft(40, '0');

私も覚えていない書式設定オプションについては、Jeppe Stig Nielson の回答を参照してください。

于 2012-06-07T15:35:42.680 に答える
20

使ってみて

int myNumber = ...;
string output = myNumber.ToString("D40");

もちろん、intがすべての桁を埋めるほど大きくなることはありません (最大intでも 10 桁しかありません)。

于 2012-06-07T15:36:26.277 に答える
2

文字列を int に変換し、加算またはその他の操作を実行してから、適切な数の先行 0 を含む文字列に変換し直します。

// 39 zero's + "1"
string initValue = new String('0', 39) + "1";

// convert to int and add 1
int newValue = Int32.Parse(initValue) + 1;

// convert back to string with leading zero's
string newValueString = newValue.ToString().PadLeft(40, '0');
于 2012-06-07T15:47:24.457 に答える
1

先日も似たようなことをしなければなりませんでしたが、必要だったのはゼロが 2 つだけでした。私はで終わった

string str = String.Format("{0:00}", myInt);

それがばかげているかどうかはわかりませんが、試してみてください

String.Format("{0:0000000000000000000000000000000000000000}", myInt)
于 2012-06-07T15:53:27.510 に答える