问题
A store number could be 1-4 digits.
Store #26 would be 0026 in respect to how devices are named, but I'd like to give the techs the ease of being able to type 26 to get the same result.
How can I take this variable and format it to always be 4 digits by appending the leading zeroes?
## 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 =
}
回答1:
You would use -format
operator:
'{0:d4}' -f $variable
https://ss64.com/ps/syntax-f-operator.html
the above will work if your variable is an integer, if not you can cast it to integer:
'{0:d4}' -f [int]$variable
回答2:
Just to avoid having PetSerAl's useful help go to waste (should the comment be deleted at some point):
Aside from using the format operator (-f
), which I would consider the preferred approach, you can also use formatting methods provided by the respective value.
If the value is a string (as it seems to be in your case), you can pad it with zeroes:
'26'.PadLeft(4, '0')
If the value is numeric you can format it as a string:
(26).ToString('0000')
来源:https://stackoverflow.com/questions/51912486/format-variable-as-4-digits-with-leading-zeroes