PRINT USING文で書式文字を出力する方法

PRINT USING文の書式指定に,書式文字以外の文字を書くと,置換されずにそのまま出力されますが,書式文字を置換せずに出力させることはできません。
書式文字は,次に示す11個の文字です。
# $ % * + , - . < > ^

これらの文字をPRINT USING文で出力したい場合は,その文字を出力したい位置を書式項目にし,それを目的の文字に置換すればいいでしょう。たとえば, + を出力したい場合は,

10 FOR a=1 TO 10
20    FOR b=1 TO 10
30       PRINT USING "## # ## = ###": a , "+" , b , a+b
40    NEXT b
50 NEXT a
60 END

のようにすればできます。

書式文字列の解釈は,JIS Full BASIC規格の 10.4 書式付き出力 の項に規定されています。
JISを参照すれば, 十進BASICヘルプにない情報が得られます。 (Full BASICのJIS規格番号は X3003 です。)
たとえば,上の例では書式項目を区切るのに即値文字の空白を用いていますが,文字列を出力するための書式項目は即値文字で区切らなくても形成可能なことがわかります。たとえば,

30       PRINT USING "##%##=###": a , "+" , b , a+b

とすれば上の例よりも詰めて出力されます。

なお,書式化すべき対象が数値のみである場合は,USING$関数を用いて,

30       PRINT USING$("##",a); "+"; USING$("##",b); "="; USING$("###",a+b)

のようにしても同様の結果が得られます。書式項目間を詰めて出力したい場合などは,こちらのやり方のほうが簡明です。


戻る inserted by FC2 system