• ベストアンサー

Format 関数のバグ?

今、OS:WindowsXP Pro SP2 VB:6.0 SP6 の環境でアプリケーションを作成しています。 上記の環境で、Format関数に関して質問があります。 今、2桁の文字列のコードをゼロ埋め(0 埋め)にして表示させたいと考えております。そこで、以下の関数を利用いたしました。 Format("19", "00") Format("1A", "00") Format("1B", "00") を呼び出し、"19","1A","1B"と返答結果を期待しているのですが、 実際に実行すると、"19","00","1B"と返答されてしまいます。 なぜ、"1A"だけ、"00"と返答されるのでしょうか。 仕様でしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

>を呼び出し、"19","1A","1B"と返答結果を期待しているのですが、 1A or 1AM=01:00(1:00AM) 1P or 1PM=13:00(1:00PM) と見なされるんでしょう。 0A~12Aは00(0.5日未満) 13A~23A,0P~11Pは01(0.5日以上) となります。 If文かSELECT CACE等で区分するしかないですね。

popurakun
質問者

お礼

そういうことですか。 変だなと思って、一時間くらい悩んでいました。 1:00AMとみなされているんですね。 If文で回避するようにいたします。 ありがとうございました!!

関連するQ&A

専門家に質問してみよう