【问题标题】: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

【问题讨论】:

    标签: c# string padding


    【解决方案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/'
          

          【讨论】:

            猜你喜欢
            • 2015-12-27
            • 2021-11-12
            • 2013-12-13
            • 1970-01-01
            • 2012-02-17
            • 2011-05-27
            • 2018-11-14
            • 1970-01-01
            • 2010-09-24
            相关资源
            最近更新 更多