2009-12-18 151 views

回答

15
?8.ToString("00") 
"08" 
?8.ToString("000") 
"008" 
?128.ToString("000") 
"128" 
?128.ToString("000.00") 
"128,00" 
?128.ToString("0000.##") 
"0128" 

您也可以使用string.Format()方法(如String.Format("{0,10:G}: {0,10:X}", value))或StandardCustom Numeric Format Strings显示你的电话号码。

其它有用的例子:

?5/3 
1.6666666666666667 
?String.Format("{0:0.00}", 5/3) 
"1,67" 
?System.Math.Round(5/3, 2) 
1.67 
?(5.0/3).ToString("0.00") 
"1,67" 
?(5/3).ToString("0.00") 
"1,00" 
?(5.0/3).ToString("E") //Exponential 
"1,666667E+000" 
?(5.0/3).ToString("F") //Fixed-point 
"1,67" 
?(5.0/3).ToString("N") //Number 
"1,67" 
?(5.0/3).ToString("C") //Currency 
"1,67 €" 
?(5.0/3).ToString("G") //General 
"1,66666666666667" 
?(5.0/3).ToString("R") //Round-trip 
"1,6666666666666667" 
?(5.0/3).ToString("this is it .") 
"this is it 2" 
?(5.0/3).ToString("this is it .0") 
"this is it 1,7" 
?(5.0/3).ToString("this is it .0##") 
"this is it 1,667" 
?(5.0/3).ToString("this is it #####") 
"this is it 2" 
?(5.0/3).ToString("this is it .###") 
"this is it 1,667" 
+0

更多的信息在这里:http://msdn.microsoft.com/en-us/library/8wch342y.aspx – 2009-12-18 18:31:50

+0

我花了一段时间回忆一下'?'是一个BASIC捷径来打印一个值到 安慰。 – 2009-12-18 22:06:38

+0

'?'是Visual Studio的即时窗口中用于获取变量值的符号:) – serhio 2009-12-18 22:31:18

-2

我不明白你是什么意思。为什么不手动添加0到字符串?

+0

这不是一个好方法,例如,它太僵硬了。请看Serhio的答案,这是更灵活和最安全的方法,而这正是OP正在寻找的! :) – t0mm13b 2009-12-18 18:47:01

+0

+1因为答案是完全有效的 - 原始问题没有说明应该如何发生,例如对于i = 18。谁说卢卡不想要“018”? – 2009-12-18 18:55:24

5
i.ToString("D2") 
+0

+1,这对我来说是最好的解决方案。 – 2009-12-18 18:48:18

2

我会使用的ToString()的参数,但这里是另一种选择:

int i = 8; 
i.ToString.PadLeft(2, (char)"0")