C# convert int to string with padding zeros?
在C中,我有一个整数值,需要转换为字符串,但它需要在以下时间之前加零:
例如:
1 | int i = 1; |
当我把它转换成字符串时,它需要变成0001。
我需要知道C中的语法。
1 | i.ToString("D4"); |
请参阅有关格式说明符的msdn。
以下是一个很好的例子:
1 2 3 4 5 6 7 | 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 |
你可以使用:
1 2 | int x = 1; x.ToString("0000"); |
C 6.0型字符串插值
1 2 3 | int i = 1; var str1 = $"{i:D4}"; var str2 = $"{i:0000}"; |
1 | i.ToString("0000"); |
简单地
1 2 | int i=123; string paddedI = i.ToString("D4"); |
易舍
1 2 | int i = 1; i.ToString("0###") |
1 2 3 4 5 6 7 8 9 | 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 |
在这里我想用4位数字填充我的号码。例如,如果它是1,那么应显示为0001,如果为11,则应显示为0011。
下面是实现这一点的代码:
1 2 3 4 5 | reciptno=1; // Pass only integer. string formatted = string.Format("{0:0000}", reciptno); TxtRecNo.Text = formatted; // Output=0001 |
我实现了这个代码来为一个PDF文件生成货币收据编号。
当两个值都可以为负数时,填充
1 | i.ToString().PadLeft((int)Math.Log10(Math.Abs(x < 0 ? x * 10 : x)) + 1, '0') |