首页 文章

C#将int转换为带填充零的字符串?

提问于
浏览
366

在C#中,我有一个整数值,需要对字符串进行控制,但需要在之前添加零:

例如:

int i = 1;

当我将其转换为字符串时,它需要变为0001

我需要知道C#中的语法 .

10 回答

  • 107

    i.ToString().PadLeft(4, '0') - 好的,但不适用于负数
    i.ToString("0000"); - 明确的形式
    i.ToString("D4"); - 简短格式说明符

  • 1
    i.ToString("D4");
    

    有关格式说明符,请参阅MSDN .

  • -4

    这是一个很好的例子:

    int number = 1;
    //D4 = pad with 0000
    string outputValue = String.Format("{0:D4}", number);
    Console.WriteLine(outputValue);//Prints 0001
    //OR
    outputValue = number.ToString().PadLeft(4, '0');
    Console.WriteLine(outputValue);//Prints 0001 as well
    
  • 63

    您可以使用:

    int x = 1;
    x.ToString("0000");
    
  • 580

    C#6.0样式字符串插值

    int i = 1;
    var str1 = $"{i:D4}";
    var str2 = $"{i:0000}";
    
  • 255
    i.ToString("0000");
    
  • 30

    只是

    int i=123;
    string paddedI = i.ToString("D4");
    
  • 17
    int p = 3; // fixed length padding
    int n = 55; // number to test
    
    string t = n.ToString("D" + p); // magic     
    
    Console.WriteLine("Hello, world! >> {0}", t);
    
    // outputs: 
    // Hello, world! >> 055
    
  • 0

    在这里,我想用4位数填充我的号码 . 例如,如果它是1那么它应该显示为0001,如果它是11它应该显示为0011 .

    以下是完成此操作的代码:

    reciptno=1; // Pass only integer.
    
    string formatted = string.Format("{0:0000}", reciptno);
    
    TxtRecNo.Text = formatted; // Output=0001
    

    我实施此代码以生成PDF文件的收款编号 .

  • 0

    要填充 int i 以匹配 int x 的字符串长度,当两者都可以为负时:

    i.ToString().PadLeft((int)Math.Log10(Math.Abs(x < 0 ? x * 10 : x)) + 1, '0')
    

相关问题