Sprintf( - コマンドリファレンス
Casio Basicプログラミング - コマンドリファレンス
誤字脱字・記載ミスや分かりにくい表現は随時追記・修正します
2018/01/17
追記 2018/02/05
2018/01/17
追記 2018/02/05
[C.Basic] [FX / CG]
Sprintf(
(書式) Sprintf("書式指定子",引数1[,引数2[,引数3]])
※ 書式指定子はANSI Cの sprintf と完全互換ではない (下記参照)。
※ 引数は3個まで指定可能。
※ 引数が整数の場合はプレフィックス%を、実数にはプレフィックス# を指定する。
※ 引数のプレフィックスを省略した場合は、その時点での実行モード(実数か整数)に従う。
(注) Sprintf( は引数チェックをしていないので、間違った設定によりシステムエラーになる
可能性有り。引数チェックのある ToStr( や他の文字列コマンド使用を検討しても良い。
※ 引数は3個まで指定可能。
※ 引数が整数の場合はプレフィックス%を、実数にはプレフィックス# を指定する。
※ 引数のプレフィックスを省略した場合は、その時点での実行モード(実数か整数)に従う。
(注) Sprintf( は引数チェックをしていないので、間違った設定によりシステムエラーになる
可能性有り。引数チェックのある ToStr( や他の文字列コマンド使用を検討しても良い。
(キープレス) [SHIFT]-[VARS](PRGM) [F6](▷) [F6](▷) [F3](ExStr) [F3](Sprintf)
(例) Sprintf("A=%4d B=%3.2f",%A,#B)
※ A=1234, B=45.68 の場合、変換される文字列は "A=1234 N=45.68" となる。
(例) Sprintf("%g%s",#1.234,"sec")→Str 1
※ Str 1 に代入される文字列は "1.234sec" となる。
(例) Sprintf("Result=%08.3f",#123.45)
※ 変換される文字列は、全8桁、小数点以下3桁でセロ詰めで "Result=0123.450" となる。
(例) Sprintf ("%e",#123456.78)
※ 変換される文字列は、指数表示で "1.234568E+05" となる。
(例) Sprintf("%.3e",#123456.78)→Str 1
※ 変換される文字列は、小数点以下3桁の指数表示で "1.235E+05" となる。
◆ 書式指定子:"%[フラグ文字][変換文字数指定][.小数点以下文字数指定]<変換指定子>"
(注) C.Basic for FX での書式指定子はCasio SDK準拠、C.Basic for CG は以下のようになる。
▶ " " の中に記述する
▶ %に続いて以下の[フラグ文字]を指定する。指定しなくても良い。
0 | ゼロ詰めを指定するフラグ。左側に余った空白は全て0になる。 |
空白 | 符号付き正の数の場合左側に1文字空白を空ける。 |
- | 左詰めを指定する。[F5](CHAR) のキャラクタ "-" 使用 [2018/02/05 追記]。 |
▶ 続いて[変換文字数指定]で全文字数を指定する。指定しなくても良い。
▶ さらに "." に続いて小数点以下文字数を指定する。指定しなくても良い。
▶ 最後に以下の<変換指定子>を指定する。これは必ず指定する。
▶ さらに "." に続いて小数点以下文字数を指定する。指定しなくても良い。
▶ 最後に以下の<変換指定子>を指定する。これは必ず指定する。
d | 10進数整数に変換する。 |
o | 符号なし8進数に変換する。 |
u | 符号なし10進数に変換する。 |
x | 符号無し16進数に変換する。10~16までは小文字 a, b, c, d, f で表示 |
X | 符号なし16進数に変換する。10~16までは大文字 A, B, C, D, F で表示 |
b / B | 符号なし2進数に変換する。 |
f | 実数に変換する。 |
e / E | 指数に変換する。変換文字数指定は無視され、小数点以下文字数は有効 |
g / G | 実数か指数に最適化して変換する。 |
s | 文字列に変換する。 |
- 関連記事
-
-
コマンドリファレンス - Casio Basicプログラミング 2019/08/17
-
fx-5800P で Mod を使いたい - Casio Basicプログラミング 2019/08/17
-
Sprintf( - コマンドリファレンス 2018/02/05
-
StrUpr( - コマンドリファレンス 2018/01/28
-
StrLwr( - コマンドリファレンス 2018/01/28
-