在c#中,我有一个整数值,需要转换为字符串,但它需要在前面加零:

例如:

int i = 1;

当我把它转换成字符串时,它需要变成0001

我需要知道c#中的语法。


当前回答

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);

其他回答

i.ToString()。PadLeft(4, '0') -好的,但对负数无效 i.ToString(“0000”);-显式形式 i.ToString (D4);-简写格式说明符 ${: 0000}”;字符串插值(c# 6.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"  

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

下面是实现这一点的代码:

reciptno=1; // Pass only integer.

string formatted = string.Format("{0:0000}", reciptno);

TxtRecNo.Text = formatted; // Output=0001

我实现了这段代码来为PDF文件生成货币收据号码。

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

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

你可以使用:

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