Format variable as 4 digits with leading zeroes

CodeSpent picture CodeSpent · Aug 18, 2018 · Viewed 15.7k times · Source

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 = 
}

Answer

4c74356b41 picture 4c74356b41 · Aug 18, 2018

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