Pet*_*ter 3 .net c# formatting
对不起简单,但这个是我的意思.几乎我有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);
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激,提前谢谢!
Caf*_*eek 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);
}
Run Code Online (Sandbox Code Playgroud)
但是,这些代码中的大部分都是超级代码,if不需要声明.Pad只会使用零到达给定的长度(2).如果它已经是2个或更多字符长,它将不会填充任何内容.你只需要这个
for (int i = 1; i <= 36; i++)
{
var iString = i.ToString().PadLeft(2,'0');
Response.Write("Test: " + iString);
}
Run Code Online (Sandbox Code Playgroud)
就此而言,不再需要变量.
for (int i = 1; i <= 36; i++)
{
Response.Write("Test: " + i.ToString().PadLeft(2,'0'));
}
Run Code Online (Sandbox Code Playgroud)
如果你一直用零填充,而不是其他角色,你可以这样做
for (int i = 1; i <= 36; i++)
{
Response.Write("Test: " + i.ToString("00"));
}
Run Code Online (Sandbox Code Playgroud)
你应该养成使用的习惯 string.Format
for (int i = 1; i <= 36; i++)
{
Response.Write(string.Format("Test: {0}", i.ToString("00")));
}
Run Code Online (Sandbox Code Playgroud)
你不需要IF,使用ToString
int i = 5;
i.ToString("00"); //returns 05
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8505 次 |
| 最近记录: |