像数字值一样格式化字符串

时间:2015-07-13 16:28:34

标签: c# string

我有一个字符串,我想格式化数字值的方式。 例如:

int num = 2;
string option = num.ToString("000");
Console.WriteLine(option);
//output
//002

但我认为格式化的唯一方法是将其解析为int,然后将ToString(" 000")方法应用于它。

string option = "2";
option = int.Parse(option).ToString("000");

有更好,更直接的方法吗?

2 个答案:

答案 0 :(得分:2)

不,没有内置机制来"格式"一个字符串,好像它是一个数字。一些选择:

  • 使用字符串函数(PadLengthSubstring)来确定应添加哪些字符
  • 解析为数字类型并使用带有数字格式字符串的ToString
  • 使用reqular表达式提取数字并生成新字符串

没有一个"对"回答。每个都有安全方面的风险和好处(如果字符串不代表有效整数怎么办?),可读性,性能等。

答案 1 :(得分:0)

这是否符合您的要求?

string x = "2";
string formattedX = x.PadLeft(3, '0');
Console.WriteLine(formattedX);  //prints 002