Wiki source code of Commands.strf
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | {{{%index | ||
2 | strf | ||
3 | 書式付き文字列を変換 | ||
4 | %group | ||
5 | 文字列操作関数 | ||
6 | %prm | ||
7 | ("format",p1...) | ||
8 | "format" : 書式指定文字列 | ||
9 | p1 : 書式指定パラメーター | ||
10 | %inst | ||
11 | 整数または実数値を適切な書式で文字列に変換した文字列を返します。 | ||
12 | "format"で、以下のような書式指定文字列を指定します。 | ||
13 | ^p | ||
14 | 例 : | ||
15 | a=123 | ||
16 | mes strf("10進[%d]",a) | ||
17 | mes strf("16進[%x]",a) | ||
18 | mes strf("10進桁数指定付き[%05d]",a) | ||
19 | mes strf("16進桁数指定付き[%05x]",a) | ||
20 | a=sqrt(2) | ||
21 | mes strf("10進実数[%f]",a) | ||
22 | mes strf("10進実数桁数指定付き[%3.10f]",a) | ||
23 | ^p | ||
24 | p1以降で指定したパラメーターを示す部分には、「%」に続く指定を行ないます。 | ||
25 | 「%d」は整数値を、「%x」は16進整数値を、「%c」は文字コード、「%f」は実数値をそれぞれ表示させることができます。 | ||
26 | 複数のパラメーターを書式で指定した場合は、その数だけ「,」で区切ってパラメーターを続けて記述してください。 | ||
27 | ^p | ||
28 | 例 : | ||
29 | a=1:b=2.0:c="ABC" | ||
30 | mes strf("[%03d] [%f] [%s]",a,b,c) | ||
31 | ^p | ||
32 | 書式指定文字列は、Cランタイムライブラリがサポートしているsprintfの書式とほぼ同様です。 | ||
33 | ^p | ||
34 | %[width][.precision][I64]type | ||
35 | |||
36 | width : 出力する最小文字数 | ||
37 | precision : 出力する最大文字数 | ||
38 | (typeがfの場合は小数点以下の桁数) | ||
39 | I64 : 64bit値を示すプレフィックス | ||
40 | type : 入力されるパラメーターの型 | ||
41 | ^p | ||
42 | のような形式となり、[]内の記述は省略することが可能です。 | ||
43 | typeで指定可能な文字は以下の通りです。 | ||
44 | ^p | ||
45 | 文字 内容 | ||
46 | --------------------------------------------- | ||
47 | c 1バイト文字コード | ||
48 | d 符号付き 10 進整数 | ||
49 | i 符号付き 10 進整数 | ||
50 | u 符号なし 10 進整数 | ||
51 | o 符号なし 8 進整数 | ||
52 | x 符号なし 16 進整数(小文字) | ||
53 | X 符号なし 16 進整数(大文字) | ||
54 | e [sign]dd[d] 形式の符号付きの実数値 | ||
55 | E [sign]dd[d] 形式の符号付きの実数値(大文字) | ||
56 | f dddd.dddd 形式の符号付きの実数値 | ||
57 | (整数部の桁数は、その数値の絶対値によって決定され、 | ||
58 | 小数部の桁数は要求される精度によって決定されます。) | ||
59 | g 書式fまたはeで出力される符号付きの値のうち、 | ||
60 | 指定された値および精度を表現できる短い方の書式 | ||
61 | G 書式Gと同様で大文字を使用する | ||
62 | p 16進数の引数が指すアドレスを出力します | ||
63 | s 文字列 | ||
64 | ^p | ||
65 | 書式指定文字列は、1023文字までの文字列のみ認識されますので注意してください。 | ||
66 | |||
67 | %href | ||
68 | mes | ||
69 | |||
70 | }}} |