有人可以给我代码来执行以下操作....
如果整数是1-9则显示字符串01,02,03等..如果10或以上则保持原样。
string display = yourInt.ToString("00");
不工作
答案 0 :(得分:53)
string display = yourInt.ToString("00");
答案 1 :(得分:13)
或者,使用String.Format
语法(例如,在Console.WriteLine
中使用)
string s = String.Format("{0:00}", yourInt);
答案 2 :(得分:3)
我不明白为什么.ToString("00")
不起作用。这个测试成功了......
[TestMethod]
public void RightPadIntegersWithZero()
{
var values = new[] { -100, -20, -1, 0, 1, 5, 10, 100, 567 };
var expecteds = new[] { "-100", "-20", "-01", "00", "01", "05", "10", "100", "567" };
for (var i = 0; i < values.Length; i++)
{
var value = values[i];
var expected = expecteds[i];
var result = value.ToString("00");
Assert.AreEqual(expected, result);
}
}
您必须做的事与您的问题所描述的不同
答案 3 :(得分:1)
在任何语言中(至少我所知道的)和整数值类型在2
以下的任何值中都不会有10
个数字长度。
要始终以两位数长度显示(02
,05
,12
),您必须将您的数字转换为字符串,然后padding
将其转换为{{ 1}}。
或者你会评价它:
0
如您所见,您必须在显示之前将其转换为字符串...
答案 4 :(得分:0)
你的问题有点模棱两可:把它显示在哪里?
无论如何,您可能希望查看String.Format。
答案 5 :(得分:0)
这会做你想要的吗?
for (int i = -20; i < 100; i++)
{
string s = i.ToString();
while (s.Length < 2) s = "0" + s;
Console.WriteLine(s);
}
我意识到这是一种蛮力方法,如此处所写。但如果它成功了,你可以使用可重复使用的字符数组来优化它,而不是附加字符串。