Дополните число начальным нулем в .Net - PullRequest
33 голосов
/ 29 января 2009

У меня есть требование дополнить все однозначные числа начальным нулем. Кто-нибудь может предложить лучший метод? (например, 1 -> 01, 2 -> 02 и т. д.)

Ответы [ 5 ]

63 голосов
/ 29 января 2009
number.ToString().PadLeft(2, '0')
58 голосов
/ 29 января 2009

Я бы позвонил .ToString по номерам, предоставив строку формата , для которой требуется две цифры, как показано ниже:

int number = 1;
string paddedNumber = number.ToString("00");

Если это часть строки большего размера, вы можете использовать строку формата внутри заполнителя:

string result = string.Format("{0:00} minutes remaining", number);
6 голосов
/ 29 января 2009

Предполагается, что вы просто выводите эти значения, а не сохраняете их

int number = 1;
Console.Writeline("{0:00}", number);

Вот полезный ресурс для всех форматов, поддерживаемых .Net.

1 голос
/ 21 августа 2014

Я собираюсь добавить эту опцию в качестве ответа, так как я не вижу ее здесь, и она может быть полезна в качестве альтернативы.

В VB.NET:

''2 zeroes left pad
Dim num As Integer = 1
Dim numStr2ch As String = Strings.Right("00" & num.ToString(), 2)

''4 zeroes left pad
Dim numStr4ch As String = Strings.Right("0000" & num.ToString(), 4)

''6 zeroes left pad
Dim numStr6ch As String = Strings.Right("000000" & num.ToString(), 6)
1 голос
/ 10 сентября 2013
# In PowerShell:

$year = 2013
$month = 5
$day = 8

[string] $datestamp = [string]::Format("{0:d4}{1:d2}{2:d2}", $year, $month, $day)
Write-Host "Hurray, hurray, it's $datestamp!"
...