如何将数字转换为字符串,但格式为x个数字

时间:2014-01-08 18:02:44

标签: c# format

我想将数字转换为字符串,但数字格式为10位数。例如,如果数字为5,则字符串应为“0000000005”。我检查了字符串的格式:

http://msdn.microsoft.com/en-us/library/0c899ak8(v=vs.110).aspx

但是没有任何格式可以指定位数。

实际上“0”占位符可以工作,但实际上我需要100个位置,所以我不打算使用“0”占位符。

3 个答案:

答案 0 :(得分:1)

您可以使用ToString formatting Dn输出前导零:

var d = 5;
var s2 = d.ToString("D2");
var s10 = d.ToString("D10");
Console.WriteLine(s2);
Console.WriteLine(s10);

输出结果为:

05
0000000005

答案 1 :(得分:1)

通常,standard numeric format stringsD说明符足够精确,可以格式化具有所需前导零数的数字。
但是它会在99处停止,如果你真的需要100个前导零,你需要求助于旧的可靠的字符串连接和右截断方法

int number = 5;
string leadingZero = new string ('0', 100) + number.ToString();
string result = leadingZero.Substring(leadingZero.Length - 100);

答案 2 :(得分:0)

此页面可帮助您找到所需的解决方案:http://msdn.microsoft.com/en-us/library/dd260048(v=vs.110).aspx