Au lieu de cela, je voulais utiliser string.format()
pour obtenir le même résultat:
if (myString.Length < 3)
{
myString = "00" + 3;
}
Si vous ne faites que formater un nombre, vous pouvez simplement fournir le format numérique approprié personnalisé pour en faire une chaîne de 3 chiffres directement:
myString = 3.ToString("000");
Vous pouvez également utiliser la chaîne de formatage standard D :
myString = 3.ToString("D3");
string.Format("{0:000}", myString);
Ça s'appelle Rembourrage :
myString.PadLeft(3, '0')
((Je ne peux pas encore commenter avec suffisamment de réputation, laissez-moi ajouter un sidenote))}
Juste au cas où votre sortie doit avoir une longueur fixe de 3 chiffres, c'est-à-dire pour des nombres allant jusqu'à 1000 ou plus (longueur fixe réservée), n'oubliez pas d'ajouter mod 1000 dessus.
yourNumber=1001;
yourString= yourNumber.ToString("D3"); // "1001"
yourString= (yourNumber%1000).ToString("D3"); // "001" truncated to 3-digit as expected
Extrait de piste sur Fiddler https://dotnetfiddle.net/qLrePt
"Procédure: composer un nombre avec des zéros non significatifs" http://msdn.Microsoft.com/en-us/library/dd260048.aspx
Vous pouvez également faire: string.Format ("{0: D3}, 3);
Voici comment procéder à l'aide de l'interpolation de chaînes C # 7
$"{myString:000}"
Doit-il être String.Format
?
Cela ressemble à un travail pour String.Padleft
myString=myString.PadLeft(3, '0');
Ou, si vous convertissez directement à partir d'un int:
myInt.toString("D3");
Ceci est une chaîne abrégée formatInterpolation :
$"{value:D3}"