将数字转换为字符串

时间:2009-12-18 18:26:00

标签: c# string

我有:

int i=8;
i.ToString();
如果我这样做,我得到“8” 我想要“08”

可以在tostring参数中设置一个选项吗?

5 个答案:

答案 0 :(得分: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"

答案 1 :(得分:5)

i.ToString("D2")

答案 2 :(得分:2)

我会使用.ToString()参数,但这是另一个选项:

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

答案 3 :(得分:1)

我在C#中处理字符串格式时发现以下链接很有用:

http://blog.stevex.net/string-formatting-in-csharp/

答案 4 :(得分:-2)

我无法理解你是什么意思。为什么不手动将0添加到字符串?