我需要为任何字符串添加“123”和零 - 但结果字符串必须正好是12个字符。
例如:
28431 = 123000028431
987 = 123000000987
2 = 123000000002
如何在C#中执行此操作?
提前致谢
答案 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)
...假设
......你可以这样做:
(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());