Как обеспечить минимальную ширину форматированной строки в C # - PullRequest
3 голосов
/ 24 февраля 2009

У меня есть следующее утверждение

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 при заполнении нулями?

Ответы [ 3 ]

19 голосов
/ 24 февраля 2009
DateTime now = DateTime.Now;
string test = now.ToString("ddMMyyyyHH");
16 голосов
/ 24 февраля 2009

Вы можете использовать string.Format("{0:000} {0:D3}", 7)
чтобы получить 007 007

А вот полезный обзор MSDN: Пользовательские строки числового формата

1 голос
/ 24 февраля 2009

Почему бы просто не сделать

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

Вы можете отформатировать числа, чтобы они были определенной ширины, но это кажется больше того, что вы хотите.

...