Format variable as 4 digits with leading zeroes

久未见 提交于 2020-01-02 05:02:16

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!