能有人給我的代碼做如下....強制的整數至少有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