37 votes

Remplir un nombre avec un zéro initial en .Net

J'ai l'obligation de compléter tous les chiffres à un seul chiffre par un zéro initial. Quelqu'un peut-il me suggérer la meilleure méthode ? (ex 1 -> 01, 2 -> 02, etc)

0 votes

Comment les produisez-vous ? Si, par exemple, vous les liez à un contrôle en ASP.NET, il existe probablement un moyen plus simple d'appliquer la chaîne de format au moment où vous les liez.

71voto

Mr. Brownstone Points 3692
number.ToString().PadLeft(2, '0')

9 votes

Upvoted parce que cette solution est auto-documentée -- plus claire dans son intention qu'un fournisseur de format ("00").

64voto

bdukes Points 54833

J'appellerais .ToString sur les chiffres, fournissant un chaîne de format qui nécessite deux chiffres, comme ci-dessous :

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

S'il s'agit d'une partie d'une chaîne plus importante, vous pouvez utiliser la chaîne de format dans un espace réservé :

string result = string.Format("{0:00} minutes remaining", number);

6voto

MrTelly Points 10828

En supposant que vous ne fassiez que sortir ces valeurs, sans les stocker

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

Voici un ressource utile pour tous les formats pris en charge par .Net.

3voto

taybriz Points 496

Je vais ajouter cette option comme réponse puisque je ne la vois pas ici et qu'elle peut être utile comme alternative.

En 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)

0voto

user2096392 Points 141
# 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!"

0 votes

Le codeur a demandé vb.net, pourquoi lui donner powershell ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X