Un numéro de magasin peut être composé de 1 à 4 chiffres.
Le magasin # 26 serait 0026 en ce qui concerne le nom des appareils, mais j'aimerais donner aux techniciens la possibilité de taper 26 pour obtenir le même résultat.
Comment puis-je prendre cette variable et la formater pour qu'elle soit toujours à 4 chiffres en ajoutant les zéros de tête?
## Ask user for store number and affected AP number to query
$Global:Store = Read-Host "Store Number ";
$Global:apNumber= Read-Host "AP Number ";
## Clean up input for validity
IF($store.length -le 4) {
$store =
}
Vous utiliseriez -format
opérateur:
'{0:d4}' -f $variable
https://ss64.com/ps/syntax-f-operator.html
ce qui précède fonctionnera si votre variable est un entier, sinon vous pouvez le convertir en entier:
'{0:d4}' -f [int]$variable
Juste pour éviter que l'aide utile de PetSerAl ne soit gaspillée (si le commentaire est supprimé à un moment donné):
Mis à part l'utilisation de opérateur de format (-f
), que je considérerais comme l'approche préférée, vous pouvez également utiliser des méthodes de formatage fournies par la valeur respective.
Si la valeur est une chaîne (comme cela semble être le cas dans votre cas), vous pouvez la remplir avec des zéros:
'26'.PadLeft(4, '0')
Si la valeur est numérique, vous pouvez la formater comme une chaîne:
(26).ToString('0000')
Foreach versions de padleft et tostring. Le 0 dans le premier doit être cité:
'4' | % padleft 4 '0'
0004
4 | % tostring 0000
0004
Travailler avec une gamme:
1..10 | % tostring 0000
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
Avec un préfixe:
1..10 | % tostring COMP0000
COMP0001
COMP0002
COMP0003
COMP0004
COMP0005
COMP0006
COMP0007
COMP0008
COMP0009
COMP0010