【问题标题】:How to enforce minimum width of formatted string in C#如何在 C# 中强制格式化字符串的最小宽度
【发布时间】:2009-02-24 14:05:25
【问题描述】:

我有以下说法

DateTime now = DateTime.Now;
string test = string.Format("{0}{1}{2}{3}", now.Day, now.Month, now.Year, now.Hour);

这给了我:

test = "242200915"

但我想要类似的东西:

test = "2402200915"

所以问题是,如何强制字符串格式化程序输出宽度为 2 的每个 int,同时用零填充?

【问题讨论】:

    标签: c# .net string formatting


    【解决方案1】:
    DateTime now = DateTime.Now;
    string test = now.ToString("ddMMyyyyHH");
    

    【讨论】:

      【解决方案2】:

      您可以使用string.Format("{0:000} {0:D3}", 7)
      获取007 007

      MSDN 上有一个有用的概述:Custom Numeric Format Strings

      【讨论】:

      • 你就在我之前进来,删除了我的答案(附:我不知道 0:D3,不错)
      【解决方案3】:

      为什么不这样做

      String test = DateTime.Now.ToString("ddMMyyyyHH");
      

      您可以将数字格式化为特定宽度,但这似乎更像您想要的。

      【讨论】:

      • 可能是因为它与其他人在 3 分钟前发布的内容完全相同。但这只是猜测。
      • 我实际上修改它以澄清,它实际上是在同一时间发布的。
      猜你喜欢
      • 1970-01-01
      • 2016-11-01
      • 1970-01-01
      • 2012-01-15
      • 2012-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多