从字面上打印以0开头的整数

本文关键字:开头 整数 字面上 打印 | 更新日期: 2023-09-27 18:16:09

我正在尝试打印0101….1231这样的数字,其中前两位是月,后两位是天。我这样做了:

int d, m;
for (m = 01; m <= 12; m++)
    for (d = 01; d <= 31; d++)
        Console.WriteLine(loc + m.ToString() + d.ToString());
//      Directory.CreateDirectory(loc + m.ToString() + d.ToString());

这是打印类似11的数字,而不是0101。如何将整数1到9打印为01-09?

从字面上打印以0开头的整数

Console.WriteLine(loc + m.ToString("D2") + d.ToString("D2"));

请参阅标准数字格式字符串[MSDN]以获取参考。

尽管:

        var date = new DateTime(2011, 1, 1);
        while (date < new DateTime(2012, 1, 1))
        {
            Console.WriteLine(loc + date.ToString("MMdd"));
            // ^ MMdd stands for Month-Month, day-day (indicating you want them both displayed in a double digit format)
            // (uppercase M is used because lowercase m is already taken, it stands for minutes)
            date = date.AddDays(1);
        }

可以让您更方便地控制输出日期格式,并帮助您避免打印出不存在的日期(如4月31日或2月30日(

请参阅DateTime.ToString方法(字符串([MSDN]以获取参考。

ToString("D2")

这会给你一个两位数的整数。更改数字以获得更多数字。

使用String.Format()方法。

Console.WriteLine(string.Format("{0:00}{1:00}", m, d));