C# Streamwriter格式
我必须以特殊格式打印C# Streamwriter格式,c#,.net,string-formatting,C#,.net,String Formatting,我必须以特殊格式打印count变量(非负数): 结果字符串的总长度应正好为20个字符 如有必要,应将“0”字符添加到字符串的左侧 例如: 2 -> "00000000000000000002" // <- The length of each string is 20 30 -> "00000000000000000030" 123 -> "00000000000000000123" 2->“0000000000000000000 2”//“00000
count
变量(非负数):
2 -> "00000000000000000002" // <- The length of each string is 20
30 -> "00000000000000000030"
123 -> "00000000000000000123"
2->“0000000000000000000 2”//“000000000000 30”
123 -> "00000000000000000123"
在.Net中实现这一点的最佳方法是什么?您可以使用
PadLeft
:
String value = "2";
String result = value.PadLeft(20, '0'); // <- 20 is desired string length, '0' - padding
您可以使用
PadLeft
:
String value = "2";
String result = value.PadLeft(20, '0'); // <- 20 is desired string length, '0' - padding
我认为PadLeft是您需要的。
这将产生以下输出:
00000000000000000002
00000000000000000020我认为PadLeft是您需要的。
这将产生以下输出:
00000000000000000002
00000000000000000020如果原始值是字符串,则唯一的选择是使用PadLeft作为Dmitry Bychenko应答,或者创建自定义格式提供程序 另一方面,如果原始值是一个数字,则可以使用标准格式说明符
D
使用填充设置数字格式,例如:
var s=String.Format("{0:D20}",5};
var s=String.Format("{0:D20}",50};
零填充也适用于指数
E
和十六进制X
说明符。MSDN在中包含详细说明如果原始值是字符串,则您唯一的选择是使用PadLeft作为Dmitry Bychenko应答,或创建自定义格式提供程序
另一方面,如果原始值是一个数字,则可以使用标准格式说明符D
使用填充设置数字格式,例如:
var s=String.Format("{0:D20}",5};
var s=String.Format("{0:D20}",50};
零填充也适用于指数E
和十六进制X
说明符。MSDN在字符串s=“00000000000000”中包含详细说明;
字符串输入=“20”;
列表=新列表();
foreach(s中的var项目)
{
list.Add(Convert.ToString(item));
}
列表。添加(输入);
int count=input.Length;
列表。删除范围(0,计数);
StringBuilder结果=新建StringBuilder();
foreach(列表中的变量项)
{
result.Append(item.ToString());
}
控制台写入线(结果);
控制台写入线(结果长度);
string s=“00000000000000”;
字符串输入=“20”;
列表=新列表();
foreach(s中的var项目)
{
list.Add(Convert.ToString(item));
}
列表。添加(输入);
int count=input.Length;
列表。删除范围(0,计数);
StringBuilder结果=新建StringBuilder();
foreach(列表中的变量项)
{
result.Append(item.ToString());
}
控制台写入线(结果);
控制台写入线(结果长度);
string s = "00000000000000000000";
string input = "20";
List<string> list = new List<string>();
foreach (var item in s)
{
list.Add(Convert.ToString(item));
}
list.Add(input);
int count = input.Length;
list.RemoveRange(0, count);
StringBuilder result = new StringBuilder();
foreach (var item in list)
{
result.Append(item.ToString());
}
Console.WriteLine(result);
Console.WriteLine(result.Length);