很抱歉这个简单,但是这个让我望而却步。几乎我有36个记录的列表,如果id小于10,我需要它返回01,02,03 ... 09,而不是1,2,3 ... 9.
这是我到目前为止的代码,我认为这会起作用。这是C#.NET:
for (int i = 1; i <= 36; i++)
{
if (i.ToString().Length == 1)
{
i.ToString().PadLeft(2,'0');
}
Response.Write("Test: " + i);
}
任何帮助将不胜感激,提前谢谢!
答案 0 :(得分:14)
您的问题是i
仍然是一个整数,需要将其分配给字符串
for (int i = 1; i <= 36; i++)
{
var iString = i.ToString();
if(iString.Length == 1)
{
iString = iString.PadLeft(2,'0'); //RIGHT HERE!!!
}
Response.Write("Test: " + iString);
}
但是,这些代码中的大部分都是超级的,不需要if
语句。 Pad只会使用零到达给定的长度(2)。如果它已经是2个或更多字符长,它将不会填充任何内容。你只需要这个
for (int i = 1; i <= 36; i++)
{
var iString = i.ToString().PadLeft(2,'0');
Response.Write("Test: " + iString);
}
就此而言,不再需要变量。
for (int i = 1; i <= 36; i++)
{
Response.Write("Test: " + i.ToString().PadLeft(2,'0'));
}
如果你一直用零填充,而不是其他角色,你可以这样做
for (int i = 1; i <= 36; i++)
{
Response.Write("Test: " + i.ToString("00"));
}
你应养成使用string.Format
for (int i = 1; i <= 36; i++)
{
Response.Write(string.Format("Test: {0}", i.ToString("00")));
}
答案 1 :(得分:8)
您不需要IF,请使用ToString
int i = 5;
i.ToString("00"); //returns 05
答案 2 :(得分:4)
您可以尝试使用
var list = new List<string>();
for (int i = 1; i <= 36; i++)
{
var result = string.Empty;
if(i < 10)
{
result = string.Format("0{0}", i);
}
else
{
result = i.ToString();
}
list.Add(result);
}
Nota:在调用Response.Redirect
之前Concat你的值答案 3 :(得分:2)
你只是将我转换为字符串并丢弃结果。
在Response.Write("Test: " + i);
中,您正在打印i而不是将其转换为字符串。
尝试:
for (int i = 1; i <= 36; i++)
{
if (i.ToString().Length == 1)
{
Response.Write(i.ToString().PadLeft(2,'0'));
}
}
答案 4 :(得分:2)
您没有使用以下行执行任何操作:
i.ToString().PadLeft(2,'0');
i
仍然只是一个整数,当你以后使用它时,它的字符串表示不会在它前面有0。
您需要保存值的字符串以便稍后打印。
答案 5 :(得分:2)
您无需查看i.ToString().Length == 1
:
for (int i = 1; i <= 36; i++)
Response.Write("Test: " + i.ToString().PadLeft(2,'0'));
在MSDN中查看PadLeft以获得澄清。共同签名:
public string PadLeft(int totalWidth, char paddingChar)
您也可以使用String.Format:
for (int i = 1; i <= 36; i++)
Response.Write("Test: " + i.ToString("00"));
另一种方式 - 使用LINQ:
foreach (var number in Enumerable.Range(1, 36).Select(i => i.ToString("00")))
Response.Write("Test: " + number);