向字符串添加零填充

Posted

技术标签:

【中文标题】向字符串添加零填充【英文标题】:Add zero-padding to a string 【发布时间】:2011-03-08 13:14:21 【问题描述】:

如何在字符串中添加“0”填充,使我的字符串长度始终为 4?

例子

If input "1", 3 padding is added = 0001
If input "25", 2 padding is added = 0025
If input "301", 1 padding is added = 0301
If input "4501", 0 padding is added = 4501

【问题讨论】:

【参考方案1】:

您可以使用PadLeft

var newString = Your_String.PadLeft(4, '0');

【讨论】:

请记住,"12345".PadLeft(4,'0') 仍然“12345” - 它不会截断它。顺便说一句,这并没有减损这个答案,因为它符合所有规范(有一些奇怪的令人满意的答案是让你赞成的答案被选为接受的答案(尽管不像让你自己接受的答案那样令人满意),排序就像你儿子进入最好的学校一样),只是想我会提到它,以防它在未来的某个时候抬起丑陋的脑袋。 Cripes,我希望这些括号是平衡的:-) @paxdiablo:直到出现笑脸。 "1.2".PadRight(4,'0') 也适用于零填充字符串数字,例如“1.20”。我可以这样做来截断并填充一个简单的字符串编号 num = num.length > 4 ? num.Substring(0,4) : num.PadRight(4,'0');【参考方案2】:
myInt.ToString("D4");

【讨论】:

问题是如何将填充“添加到字符串”。 string.Format("0:D4", myInt)【参考方案3】:
string strvalue="11".PadRight(4, '0');

输出 = 1100

string strvalue="301".PadRight(4, '0');

输出= 3010

string strvalue="11".PadLeft(4, '0');

输出= 0011

string strvalue="301".PadLeft(4, '0');

输出= 0301

【讨论】:

【参考方案4】:
"1".PadLeft(4, '0');

【讨论】:

【参考方案5】:
int num = 1;
num.ToString("0000");

【讨论】:

【参考方案6】:

sed

始终添加三个前导零 然后修剪到 4 位数
sed -e 's/^/000/;s/^0*\([0-9]\4,\\)$/\1/'

【讨论】:

以上是关于向字符串添加零填充的主要内容,如果未能解决你的问题,请参考以下文章

Python - 如何向整数/字符串添加零? [复制]

pandas使用pad函数向dataframe特定数据列的每个字符串添加前置(前缀)补齐字符或者字符串向所有字符串的左侧填充直到宽度达到指定要求(left padding)

pandas使用pad函数向dataframe特定数据列的每个字符串添加前置(前缀)补齐字符或者字符串向所有字符串的左侧填充直到宽度达到指定要求(left padding)

pandas使用pad函数向dataframe特定数据列的每个字符串添加后置(后缀)补齐字符或者字符串向所有字符串的右侧填充直到宽度达到指定要求(right padding)

pandas使用zfill函数向dataframe特定数据列的每个字符串添加前置(前缀)补齐字符使得当前数据列内容所有字符长度相同(向列A的每个字符串添加前导零,直到达到4的宽度)

如何用 0(零)填充整数? [复制]