如何根据C#中的值不同地格式化数字?

时间:2011-01-20 13:57:49

标签: c# string formatting

我有一个整数,我将根据以下规则存储在字符串中:

  1. 如果数字小于10,那么它之前应该有一个0
  2. 如果大于10,请将其存储为不带前导0。
  3. 我怎样才能在C#中做到这一点?

6 个答案:

答案 0 :(得分:7)

您可以将ToStringformat string

一起使用
var i = 6;
var stringRepresentation = i.ToString("d2");

答案 1 :(得分:3)

您可以使用:

String.Format("{0:D2}", myInt);

“:”D2告诉String.Format通过预先填充零来将数字填充到至少两位数。如果长度超过两位数,则不会填充任何内容。

答案 2 :(得分:2)

您可以在以下网址找到有关MSDN格式编号的信息:

您的问题的一个答案是:

string formatted = myNumber.ToString("00");

答案 3 :(得分:2)

此网站是一个很好的参考:http://blog.stevex.net/string-formatting-in-csharp/

对于您的问题,您也可以使用:String.Format("{0:0#}", <yourIntegerVariable>)

答案 4 :(得分:1)

如果你已经有了这个字符串,你可以写

str = str.PadLeft(2, '0');

请注意,您可能正在寻找

string str = new DateTime(1,1,1, 12,34,56).ToShortTimeString();

返回12:34 PM,可以使用format strings进行自定义。

答案 5 :(得分:0)

int i = 8;

string s = String.Format("{0:00}", i);

00表示2位数 00.00将代表2位数和2位小数