将整数转换为三位数字

18

我有一个整数变量。如果它是1-9,它只显示为"1"或"9",我想将变量转换为保存为3位数字,即"001"、"009"等。有什么想法吗?我正在使用C#、ASP.Net。


您想使用什么进行转换? - MartW
你应该使用“String”来存储类似于“001”的内容。 - Nalaka526
6个回答

30

使用

int X = 9;

string PaddedResult = X.ToString().PadLeft (3, '0'); // results in 009

请查看这里的MSDN参考资料 这里这里


我更喜欢格式化字符串的可读性,但如果你要频繁执行此操作,我认为这种方法会更快,对吧? - LexyStardust
@LexyStardust,使用这种方法可能会更快,但我喜欢它,因为字符串的长度可以是一个变量(在调用Pad...时的第一个参数),这反过来使得配置变得相当容易... - Yahia
抱歉,我的意思是这个解决方案会更快 - 不需要在Format()下面进行所有奇怪的查找FormatProviders。 - LexyStardust

20

那么

var result = String.Format("{0:000}", X);
var result2 = X.ToString("000");

6
int i = 5;
string tVal=i.ToString("000");

3

来源:https://learn.microsoft.com/zh-cn/dotnet/standard/base-types/standard-numeric-format-strings#DFormatString

"D"(或十进制)格式说明符将数字转换为由十进制数字(0-9)组成的字符串,如果数字为负,则前缀为减号。

精度说明符指定所需结果字符串中的最小数字数量。如果需要,将使用零填充数字左侧以生成由精度说明符给出的数字数量。

示例:

int value; 

value = 12345;
Console.WriteLine(value.ToString("D"));
// Displays 12345
Console.WriteLine(value.ToString("D8"));
// Displays 00012345

value = -12345;
Console.WriteLine(value.ToString("D"));
// Displays -12345
Console.WriteLine(value.ToString("D8"));
// Displays -00012345

0

你也可以使用这段代码

int k = 5;
string name =  $"name-{k++:D3}.ext";

0
int i = 5;
string retVal = i.ToString().PadLeft(3, '0');

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接