Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
I’m putting this here only because I’m tired of searching for it. How to pad an integer with leading zeroes is trivial.
1..16 | % { "{0:D2}" -f $_ }
And padding a float with trailing zeroes is more of the same:
$i = 2; (1..10) | % { "{0:F5}" -f $i; $i = $i / 2; }
Now, how about a [double] (floating point?) There may be better ways, but the only one that comes to mind is to do it string-wise:
function Format-Float
{
param (
[parameter(ValueFromPipeline=$true)][double[]]$InputFloat,
[int]$IntMinimumDigits = 3,
[int]$FloatMinimumDigits = 3
);
process
{
foreach ($_inputFloat in $InputFloat)
{
[string]$intPortion = "{0:D$IntMinimumDigits}" -f (
[int]([string]$_inputFloat -replace '\..*')
);
[string]$floatPortion = (
"{0:F$FloatMinimumDigits}" -f $_inputFloat
) -replace '.*\.';
"$intPortion.$floatPortion";
} # foreach ($_inputFloat in $InputFloat)
} # process
} # function Format-Float
Note that this outputs strings (the only way to keep the leading zeroes.