C#将int转换为带填充零的字符串?
在C#中,我有一个整数值,需要转换为字符串,但它需要在以下值之前加上零: 例如:C#将int转换为带填充零的字符串?,c#,formatting,number-formatting,C#,Formatting,Number Formatting,在C#中,我有一个整数值,需要转换为字符串,但它需要在以下值之前加上零: 例如: int i = 1; 当我将其转换为字符串时,它需要变成0001 我需要知道C#.I.ToString().PadLeft(4,'0')中的语法-好的,但不适用于负数 i.ToString(“0000”)-显式格式 i.ToString(“D4”)-简短格式说明符 $“{i:0000}”-字符串插值(C#6.0+)您可以使用: int x = 1; x.ToString("0000"); 请参见关于格式说明符的
int i = 1;
当我将其转换为字符串时,它需要变成0001
我需要知道C#.I.ToString().PadLeft(4,'0')中的语法-好的,但不适用于负数i.ToString(“0000”)代码>-显式格式
i.ToString(“D4”)代码>-简短格式说明符
$“{i:0000}”代码>-字符串插值(C#6.0+)您可以使用:
int x = 1;
x.ToString("0000");
请参见关于格式说明符的说明。以下是一个很好的示例:
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
简单地
要填充int i
以匹配int x
的字符串长度,当两者都可以为负值时:
i.ToString().PadLeft((int)Math.Log10(Math.Abs(x < 0 ? x * 10 : x)) + 1, '0')
i.ToString()
C#6.0风格的字符串插值
int i = 1;
var str1 = $"{i:D4}";
var str2 = $"{i:0000}";
这里我想用4位数字填充我的号码。例如,如果它是1,那么
它应显示为0001,如果为11,则应显示为0011
以下是完成此操作的代码:
reciptno=1; // Pass only integer.
string formatted = string.Format("{0:0000}", reciptno);
TxtRecNo.Text = formatted; // Output=0001
我实现了这段代码以生成PDF文件的收款编号。Easy peasy
int i = 1;
i.ToString("0###")
NET有一个简单的函数,可以在String
类中实现这一点。
只需使用:
.ToString().PadLeft(4, '0') // that will fill your number with 0 on the left, up to 4 length
int i = 1;
i.toString().PadLeft(4,'0') // will return "0001"
还有第二种使用相同格式字符串的方法:string.format(“{0:0000}”,x)
这可能会帮助您-。好的lucki.ToString()。PadLeft(4,'0')不适用于负数,例如(-5)。PadLeft(4,'0')将是“00-5”。如何显示固定长度的字符串@Rahul读到:这种方法对我来说是有效的String.Format(“{0:D4}”,number);使用字符串格式快捷方式也可以工作,例如$“{i:D4}”;这种方法适用于我的String.Format(“{0:D4}”,number);为什么你们要编辑我的答案只是为了大写字母或句子结构。有必要吗?开发人员应该关注代码而不是句子structure@Unheilig我是stackoverflow的新手。我想当你编辑我的答案时,我的观点会降低。正如你指出的,你是这个社区的新手,不熟悉编辑系统,社区建议并批准的编辑不会使您失去任何分数。所做的编辑实际上大大改进了您的回答投票实际上是匿名的。由于语法不好,投了反对票。如果您接受了针对负数的编辑建议,则会投赞成票。修复了不必要的复杂问题,尤其是在有非常简单的解决方案时。不知道为什么您投反对票它有效,并回答了ops问题。这一个看起来很不错。避免在文本“
后出现一些文本{x.ToStrig(“D4”)}的好方法如果字符串的长度固定且数字发生变化,则此方法有效。谢谢你!:)int i=1002;string str=i.ToString().PadLeft(4,'0');//返回“1002”:
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
reciptno=1; // Pass only integer.
string formatted = string.Format("{0:0000}", reciptno);
TxtRecNo.Text = formatted; // Output=0001
int i = 1;
i.ToString("0###")
.ToString().PadLeft(4, '0') // that will fill your number with 0 on the left, up to 4 length
int i = 1;
i.toString().PadLeft(4,'0') // will return "0001"
public static string ToLeadZeros(this int strNum, int num)
{
var str = strNum.ToString();
return str.PadLeft(str.Length + num, '0');
}
// var i = 1;
// string num = i.ToLeadZeros(5);