[書式制御文字列] 説明

[PRINT_USING][LPRINT_USING] コマンドで、
画面やPrinterにテキスト(数値、文字)データを編集して出力するときの、
編集用の書式制御文字列です。

数値用の書式制御のルールは[数値用の書式制御のルール] 参照。

文法 PRINT USING <書式制御文字列> <式> [,または; <式>....] [,または;]
LPRINT USING <書式制御文字列> <式> [,または; <式>....] [,または;]
文例  PRINT USING "#####,.";A,B,C
    LPRINT USING "#####";A2,B3,C4

<書式制御文字列>に使用できる書式制御文字は次のとうりです。

●文字変数や文字列の書式制御文字

!

与えられた文字変数や文字定数の最初の1文字だけを出力します。

&<n個の空白>&

与えられた文字変数や文字定数の先頭から(n+2)文字の文字列を出力 します。与えられた文字列が(n+2)文字より長い場合は余分な文字は無視され、短い場合に は文字列は左詰めで出力され、残った部分には空白が出力されます。

@

文字列全体の出力に使用。複数個指定した場合、1つの "@" に対して <式>の中の1つの文字列が,代入され出力されます。 "@"の数が<式>の個数より多い場合には、余った "@" は無視されます。



尚、日本語(漢字)を含む文字列を編集することはできません。


●数値の書式制御文字

#

数値を出力する桁数を指定します。指定した桁数より数値の桁数が小さい場合は、 右詰めで出力します。

.(ピリオド)

小数点の位置を指定します。小数点以下の部分で余った桁には 0を 出力します。

+

<書式制御文字列>の最初または最後、または#の記述部の直前または直後に付けた場合、数値の符号が数値データの直前または直後に出 力されます。 尚、2個以上の "+" を並べた場合には、余計な "+" は後述の制御文字以外の文字の扱いをしま す。そのまま "+" として出力します。

-(マイナス記号)

<書式制御文字列>の最後、または#の記述部の直後に付けた場合、数値が負の数のときには数値データの直後に "-" が、正または0の場合は空白が出力されます。 尚、前に付けたり、2個以上の "-" を並べた場合には、余計な "-" は後述の制御文字以外の 文字の扱いをします。そのまま "-" として出力します。

**

<書式制御文字列>の最初に付けた場合、数値領域の左側に空白部分が存在する場合、 そこを"*"で埋めて出力します。 尚、この"**"は数値領域を 2桁多く確保します。 #の個数 +2 けたが数値領域となります。

\\

<書式制御文字列>の最初に付けた場合、出力する数値の最初に "\" を付加します。 尚、この "\\" は数値領域を 2桁多く確保しますがこのうち 1桁分は "\" の出力に使用します。 および、後述の指数形式の書式指定を行った場合は使用を避けて下さい。

**\

<書式制御文字列>の最初に付けた場合、上記の2つの(** と\\)の両方の機能 を兼ねます。 尚、この "**\" は数値領域を 3桁多く確保しますがこのうち 1桁分は "\" の出力に使用します。

,(コンマ)

桁数指定の "#" の並びの中に置いた場合、数値の整数部が 3桁ごとに "," で区切られて出力されます。 ただし、上記の ピリオド "." より右側に置いた場合は、数値の最後に ","が出力され、 3桁ごとの区切りは行われません。

^^^^

桁数指定の "#" の後ろに付けた場合、指数形式の(浮動小数点形式)で出力されます。




●その他の書式制御文字

_(下線)

前述の制御文字1文字を単なる文字として出力するように制御します。 "_" に続く1文字は常に書式制御機能を持たない文字としてそのまま出力されます。




●制御文字以外の文字

前述の制御文字以外の文字を書式制御文字列に使用した場合、数値の前や後ろにその文字を
単なる文字としてそのまま出力されます。
ただし、日本語(漢字)文字を使用できません。


●数値の領域を超えた場合

指定した数値領域より数値の桁数が大きい場合、数値の直前に "%" が付けられます。
数値を四捨五入して丸めたことにより桁数が領域より大きくなった場合も、
丸めた数値の前に "%" がつけられます。
表示の数値がいくつかの桁を失ったことを示しています。


●複数の書式制御文字を指定した場合

<書式制御文字列>中に複数の書式制御文字列を指定した場合、その制御文字の並びを
ひとつのパターンとして、指定された複数の<式>に対し、順に繰り返し当てはめます。
たとえば、
PRINT USING "@=\\### " ;"BOOKS",2500,"TICKETS",1440,"DRINKS",4300
とすると,"@=\\### " のパターンが以降に指定される式の並びにあてはめられ,
この結果、
BOOKS=\2500 TICKETS=\1440 DRINKS=\4300
と出力されます。


サンプル 
10 CLS
20 A%=123
30 B=9.87E+31
40 C#=3.14159265359
50 D$="MBASICW"
100 PRINT USING "& &" ;D$
110 PRINT USING "\\###.#" ;A%;B,C#
120 PRINT USING "Personal @ MBASIC" ; "Computer"
200 PRINT USING "####.#-" ;-314.159
210 PRINT USING "**\##.#" ;314.159
220 PRINT USING "#####,.#" ;3141.59
230 PRINT USING "#####,.#^^^^" ;3141.59
240 PRINT USING "\\###._-" ;314.159
250 PRINT USING "#####" ;314159
900 END