• ベストアンサー
  • 暇なときにでも

VBのフォーマットで+と-の値をそろえたい

  • 質問No.55383
  • 閲覧数419
  • ありがとう数1
  • 回答数2

お礼率 74% (476/640)

Visual BASICで値をフォーマット命令を使い、+あり、-ありの値を縦に表示させ、各桁をそろえたいのですが、+の場合は、+を表示しないので、+の値だけ、1桁左詰めで表示されてしまいます。簡単に解消できる方法はありますか? 教えてください。

現在のプログラム  print Format(変数,"###")

今の例
123
-123

希望する表示
 123
-123
     ブラウザで見ると3と3がそろっていませんが、合わせて書いたつもりです

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

  • 回答No.2
  • ベストアンサー

ベストアンサー率 46% (22/47)

Format(変数, " ###;-###")

の書式部分は、
空白・シャープx3・セミコロン・マイナス・シャープx3
で、間に入るのは、セミコロン。

書式をセミコロンで区切って最大4つまで指定できます。
正の数、ゼロ、負の数の別などで書式を選択する機能があるのですよ。
ヘルプでFormat関数の関連項目で「数値を表すその他の書式 (Format 関数)」というトピックを参考にしてください。
お礼コメント
greenhope

お礼率 74% (476/640)

正と負の区切りは ; だったのですね。
おかげで、縦列がまっすぐになり、たいへんすっきりしました。
ありがとうございました。
投稿日時:2001/03/25 23:25

その他の回答 (全1件)

  • 回答No.1

ベストアンサー率 46% (22/47)

正負別複数書式で対応できますよ。

Format(変数, " ###;-###")
補足コメント
greenhope

お礼率 74% (476/640)

回答、ありがとうございます。

Format(変数,"###,-###")とのことですが、 - が中間に入るのはおかしくないですか?
試してみたらうまくいかないようですが。
またFormat(変数,"-###") とすると、 -123の場合 --123と表示してしまいます。
正の場合は空白を頭に、負の場合は、-を頭につけたいのです。もしくは
正の場合は+を頭に、負の場合は、-を頭につけたいのです。
なにかのBASICで S(符号)があったようですが、VBではないようです。
プログラムで判別するのでなく、formatコマンドだけで簡単に行う方法はありますか?
投稿日時:2001/03/24 23:24
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ