web-dev-qa-db-fra.com

Formater la chaîne en un nombre à 3 chiffres

Au lieu de cela, je voulais utiliser string.format() pour obtenir le même résultat:

if (myString.Length < 3)
    {
        myString =  "00" + 3;
    }
56
Alex

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");
99
Reed Copsey
 string.Format("{0:000}", myString);
22
Haitham Salem

Ça s'appelle Rembourrage :

myString.PadLeft(3, '0')
18
PinnyM

((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

5
Sxc

"Procédure: composer un nombre avec des zéros non significatifs" http://msdn.Microsoft.com/en-us/library/dd260048.aspx

3
user287107

Vous pouvez également faire: string.Format ("{0: D3}, 3);

3
sstassin

Voici comment procéder à l'aide de l'interpolation de chaînes C # 7

$"{myString:000}"
3
Ali Shahrokhi

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");
2
Sconibulus

Ceci est une chaîne abrégée formatInterpolation :

$"{value:D3}"
1