- ベストアンサー
format関数についてです。
A→0A、B→0B、C→0Cという風にFORMAT関数で変換 したいでです。 format("A","00")の結果は「A」です。 どのような文字列で、変換できるのでしょうか? それともこのような処理は、format関数ではできないのでしょうか? 今は力づくで、"A"なら"0A"、"B"なら"0B"と select文で書いています。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
補足です。 "\"ですが、直後に続くキャラクターをそのまま出力します。 "0"は、そのままだと、フォーマットの方法を指定する特別な文字ですので、このようにして"\"を直前に入れてやる必要があります。 "@"は文字をその位置に出力します。 今回の例だと、"A"がここに現れます。 "@"はヘルプの文字列表示書式指定文字、"\"、"0"は数値表示書式指定文字に記述があります。 ちなみに「リテラル」とは、「文字」「キャラクター」を難しく言ったものと思えばいいです。 :-)
その他の回答 (2)
- miuhr
- ベストアンサー率19% (12/63)
先に出てしまいましたが format("A","\0@") で大丈夫です。 または単に0が付くだけなら先頭に "0"+ を付けてあげれば良いですよ。 後に応用するなら関数がオススメですが状況によりますね。 どちらが処理が重いのかは調べて下さいね。
format("A","\0@") でどうでしょう。
お礼
さっそくの回答ありがとうございます。 できました。ありがとうございます。 ところで\0@には、どういう意味があるのでしょうか? 調べてみたところ「\」=「次に入力する文字を本来のリテラルおじとして扱う」 と私がもっているVBの本にありましたが、いまいちよくわかりません。 「@」にもどういう意味があるのでしょうか? すいませんが、教えていただけるととても参考になります。
お礼
皆様、回答ありがとうございます。 とても勉強になりました。