如何在字符串的开头添加“123”并将其填充为12个字符?

时间:2011-06-30 12:19:18

标签: c# winforms string

我需要为任何字符串添加“123”和零 - 但结果字符串必须正好是12个字符。

例如:

28431 = 123000028431
987   = 123000000987
2     = 123000000002

如何在C#中执行此操作?

提前致谢

6 个答案:

答案 0 :(得分:34)

好吧,你可以使用:

string result = "123" + text.PadLeft(9, '0');

换句话说,将任务分成两半 - 一部分使用string.PadLeft生成“000028431”,“000000987”等部分,另一部分使用简单的字符串连接将结果前缀为“123”。

毫无疑问,更有效的方法,但这是我要做的,除非我有充分的理由相信效率对于这项任务非常重要。

答案 1 :(得分:15)

var result = string.Format("123{0}", number.PadLeft(9, '0'));

答案 2 :(得分:4)

你可以尝试:

var str = String.Format("123{0:0#########}", 28431);

var str = String.Format("123{0:000000000}", 28431);

答案 3 :(得分:2)

...假设

  1. 已知字符串始终包含十进制整数的表示。
  2. 表示的整数始终小于10 9
  3. ......你可以这样做:

    (123000000000 + long.Parse(s)).ToString()
    

答案 4 :(得分:1)

好吧,如果你的数字少于1000000000,你可以在每个数字上加上123000000000。

答案 5 :(得分:0)

试试这段代码

            string argString ="28431 ";

            StringBuilder sb =new StringBuilder();
            sb.Append(argString);
            for (int i =  12 -argString.Length-3; i >0 ; i--)
            {
                 sb.Insert(0, "0");              
            }

            string result = string.Format("123{0}",sb.ToString());