VBScriptで数値を0で埋めて表示してみる

| 2011年10月12日水曜日


VBScriptでは0埋めでフォーマットする関数は標準で用意されていないようだ。

こんな感じで書いて

Format("0000000000", 120)

0000000120

っと表示したかったけど楽にはできないみたい。

そこでちょっとしたものを書いてみた。

普通に0埋め用のフォーマットをする関数なら他でも紹介されていたので、ここではエラー処理などは無視して、関数にするほどもない、一箇所だけそんな0埋めでフォーマットをしたい人向けにした。

内容は単純で、

  • 表示したい桁 - 数値の桁
  • その結果の数値をSpace関数で数値分の空白文字にする
  • 空白文字をReplace関数を使って指定した文字に置き換える
っというのを一行でしているだけ。
VBScriptでちょっとしたバッチのために、だらだらと関数を書いたり、共通関数を外だしするのもなんだし。
小さいバッチはあっさりしてた方がメンテナンスも楽だからね。
  1. 'VBScriptで数値を0で埋めて表示する  
  2.   
  3. '表示したい桁数  
  4. length = 10  
  5.   
  6. '表示する数値  
  7. value = 120  
  8.   
  9. '0で埋める  
  10. character = 0  
  11.   
  12. '10桁表示で120を表し、空いている部分は0で埋める  
  13. result = Replace(Space(length - Len(value)) & value, Space(1), character)  
  14.   
  15. WScript.Echo result ' => 0000000120  

0 コメント: