能有人给我的代码做如下....强制的整数至少有2位长
如果整数1-9显示的字符串01,02,03等。如果10或过度离开它。
string display = yourInt.ToString("00");
不起作用
能有人给我的代码做如下....强制的整数至少有2位长
如果整数1-9显示的字符串01,02,03等。如果10或过度离开它。
string display = yourInt.ToString("00");
不起作用
在任何语言(至少我知道的那些)和整数值类型将永远不会有在下面10
任何值2
数字长度。
若要总是两位数长度显示它(如02
,05
,12
)必须将数字转换成字符串,然后padding
它0
。
,否则你会评估它想:
String newValue = String.Format("{0:00}", yourInt);
正如你看到的,你将有显示它之前将它转换成字符串......
是的,这就是我所做的 – 2010-08-30 20:40:41
我希望'intValue'永远不会是负面的。 – 2010-08-30 20:44:48
为什么这么多downvotes?答案在技术上是正确的。有点奇怪,但是正确。 – 2016-08-27 14:40:03
string display = yourInt.ToString("00");
+1 10秒前到达那里。 – 2010-08-30 19:50:25
这不起作用。这将在小数点后的小数点后工作,但它不适用于整数 – 2010-08-30 20:03:26
@Nick LaMarca:它的工作基于您对问题的描述。因此,安东尼收到的赞扬。你能澄清一下,它对你来说“不起作用”吗? – 2010-08-30 20:13:22
你的问题有点含糊:其中显示呢?
无论如何,你可能会想看看String.Format。
或者,在String.Format
语法(在Console.WriteLine
用于例如)
string s = String.Format("{0:00}", yourInt);
这does not工作它做同样的事情的ToString(“00”),它不会添加一个前导零 – 2010-08-30 20:12:05
@Nick:说真的,人,甚至试过这个还是你只是假设你知道什么会发生? – 2010-08-30 20:14:02
我只是试了几次它返回例如1返回1,2返回2,3返回3等我需要01,02,03 – 2010-08-30 20:18:15
我不明白为什么.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);
}
}
你必须做一些比你的问题描述
这会做你想要什么不同呢?
for (int i = -20; i < 100; i++)
{
string s = i.ToString();
while (s.Length < 2) s = "0" + s;
Console.WriteLine(s);
}
我意识到这是一个在这里写的暴力方法。但是,如果它有诀窍,你可以用一个可重复使用的字符数组来优化它,而不是追加字符串。
“yourInt”必须具备什么样的价值,因为它不起作用,因为这确实起作用 – CaffGeek 2010-08-30 20:14:23
这确实起作用,您可以举个例子说明它不适用吗? – Pharabus 2010-08-30 20:23:40
它工作如果yourInt实际上是Int32。 – abhishek 2010-08-30 20:30:39