VBScriptでは0埋めでフォーマットする関数は標準で用意されていないようだ。
こんな感じで書いて
Format("0000000000", 120)
0000000120
っと表示したかったけど楽にはできないみたい。
そこでちょっとしたものを書いてみた。
普通に0埋め用のフォーマットをする関数なら他でも紹介されていたので、ここではエラー処理などは無視して、関数にするほどもない、一箇所だけそんな0埋めでフォーマットをしたい人向けにした。
内容は単純で、
- 表示したい桁 - 数値の桁
- その結果の数値をSpace関数で数値分の空白文字にする
- 空白文字をReplace関数を使って指定した文字に置き換える
VBScriptでちょっとしたバッチのために、だらだらと関数を書いたり、共通関数を外だしするのもなんだし。
小さいバッチはあっさりしてた方がメンテナンスも楽だからね。
- 'VBScriptで数値を0で埋めて表示する
- '表示したい桁数
- length = 10
- '表示する数値
- value = 120
- '0で埋める
- character = 0
- '10桁表示で120を表し、空いている部分は0で埋める
- result = Replace(Space(length - Len(value)) & value, Space(1), character)
- WScript.Echo result ' => 0000000120