c#中如何给一个有多个数据的字符串进行位数补零?

如下:
int[] a = new int[3] { 0,11,3};
int[] b = new int[3] { 12, 3, 67 };
string str = string.Join(" ", a);//数组转为字符串
string str1 = string.Join(" ", b);
Console.WriteLine("{0} + {1}",str,str1);
这个只会输出显示为0 11 3 + 12 3 67
怎么让它显示为00 11 03 + 12 03 67呢?
我知道单个字符串中单个元素用:d2来补零,但这里是数组转为字符串好像就用不了了。

第1个回答  2020-03-10
int[] a = new int[3] { 0, 11, 3 };
int[] b = new int[3] { 12, 3, 67 };
var aa = a.Select(n => n.ToString().PadLeft(2, '0')).ToArray();
var bb = a.Select(n => n.ToString().PadLeft(2, '0')).ToArray();
string str = string.Join(" ", aa);//数组转为字符串
string str1 = string.Join(" ", bb);
Console.WriteLine("{0} + {1}", str, str1);本回答被提问者和网友采纳
第2个回答  2020-03-10
string a = "1";
a = a.PadLeft(5, '0');
字符串带了个方法PadLeft用来往左边补任何字符,方法带两个参数,第一个参数是字符串的长度,第二个是左边补的字符,当字符串位数小于第一个参数设定的长度,就会在字符串左边补上第二个参数设置的字符。
第3个回答  2020-03-10
“0”与“00”根本就是两个不同的字符串,转为字符串操作string.Join(" ", aa),再相加!
相似回答