C# - increment number and keep zeros in front

前端 未结 5 597
再見小時候
再見小時候 2021-02-07 10:17

I need to make a 40 digit counter variable. It should begin as 0000000000000000000000000000000000000001
and increment to
000000000000000000000000000

相关标签:
5条回答
  • 2021-02-07 10:56

    Use the integer and format or pad the result when you convert to a string. Such as

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

    See Jeppe Stig Nielson's answer for a formatting option that I can also never remember.

    0 讨论(0)
  • 2021-02-07 10:59

    I had to do something similar the other day, but I only needed two zeros. I ended up with

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

    Not sure if it's fool proof but try

    String.Format("{0:0000000000000000000000000000000000000000}", myInt)
    
    0 讨论(0)
  • 2021-02-07 11:12

    You can use this too..

    int number = 1;
    string tempNumber = $"{number:00}";
    

    result:

    01
    
    0 讨论(0)
  • 2021-02-07 11:16

    Try using

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

    Of course, the int can never grow so huge as to fill out all those digit places (the greatest int having only 10 digits).

    0 讨论(0)
  • 2021-02-07 11:20

    Just convert your string to int, perform the addition or any other operations, then convert back to string with adequate number of leading 0's:

    // 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');
    
    0 讨论(0)
提交回复
热议问题