ゼロ詰めする関数

ゼロ詰めする関数

桁数を指定して、その桁数に合わせて数字をゼロ詰めする。

色々方法はあるけど、少数のままゼロ詰めしたかったので、StrLen()は使わず、10を掛けていって桁数を比べる形にした。

ZeroSupply(Num, Plc, Pad="0") {
 Index := (Num < 1) ? 1 : Num
 While Floor(10 ** (Plc - 1)) > Index
 {
  Num   := Pad Num
  Index := Index * 10
 }
 Return Num
}

Numにゼロ詰めしたい数字、Plcに桁数、Padに詰めるもの(デフォルトでは0)を指定して使う。

たとえば、以下のようにすると"007"と"**7"が表示される。

x := 2
y := 5
MsgBox, % ZeroSupply(x+y,3)
MsgBox, % ZeroSupply(x+y,3,"*")