1 <?xml version="1.0" encoding="UTF-8"?>
3 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
4 * Copyright (C) XXXX-2008 - INRIA
5 * Copyright (C) 2012 - 2016 - Scilab Enterprises
6 * Copyright (C) 2021 - Samuel GOUGEON
8 * This file is hereby licensed under the terms of the GNU GPL v2.0,
9 * pursuant to article 5.3.4 of the CeCILL v.2.1.
10 * This file was originally licensed under the terms of the CeCILL v2.1,
11 * and continues to be available under such terms.
12 * For more information, see the COPYING file which you should have received
13 * along with this program.
16 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"
17 xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml"
18 xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook"
19 xmlns:scilab="http://www.scilab.org" xml:id="printf_conversion" xml:lang="ja">
21 <refname>printf_conversion</refname>
22 <refpurpose>mprintf, msprintf, mfprintf 変換仕様</refpurpose>
27 <literal>mprintf</literal> ,
28 <literal>msprintf</literal> , <literal>mfprintf</literal>における各変換仕様.
29 <literal>format</literal> パラメータは以下のような構文を有します:
33 <para>A % (パーセント) 符号.</para>
37 An optional integer n ≥ 1 followed by "$". n is the index of the input data
38 to substitute to the placeholder, in the msprintf, mprintf .. list of input data.
39 In a format string, placeholders are either all numbered or all non-numbered.
40 A given numbered placeholder can be used only once in its C-format string
46 0個以上の <literal>options</literal>で,
48 以下のリストに<literal>option</literal>文字とその意味を示します:
60 (+または -)を指定する符号変換の結果を開始.
64 <td style="white-space:nowrap"><emphasis role="bold">' ' :</emphasis></td>
66 (空白) 符号変換後の最初の文字が符号ではない場合に結果の
68 (空白) および +オプションが共に指定された場合,
76 <literal>c</literal>, <literal>d</literal>, <literal>i</literal>,
77 <literal>s</literal>, および <literal>u</literal> 変換の場合,
78 <literal>#</literal>オプションの効果はありません.
79 <literal>o</literal> 変換の場合, <literal>#</literal> は
80 結果の最初の桁を強制的に0 (ゼロ)にし,精度を増加させます.
81 <literal>x</literal> および <literal>X</literal>変換の場合,
82 ゼロでない結果の前に0xまたは0Xが付加されます.
83 <literal>e, E, f, g,</literal> および <literal>G</literal>変換の場合,
84 小数点以下の値がない場合でも結果には常に小数点が含まれます.
85 <literal>g</literal> および
86 <literal>G</literal> 変換の場合,
94 <literal>i</literal>, <literal>o</literal>, <literal>u</literal>,
95 <literal>x</literal>, <literal>X</literal>, <literal>e</literal>,
96 <literal>E</literal>, <literal>f</literal>, <literal>g</literal>,
97 および <literal>G</literal>変換において
99 前に0をつけることによりフィールド幅内を埋めます:
101 <literal>0</literal> および <literal>\-</literal>(ダッシュ)が共に指定された場合,
102 <literal>0</literal>フラグは無視されます.
103 <literal>d</literal>, <literal>i</literal>,
104 <literal>o</literal> <literal>u</literal>, <literal>x</literal>,
105 および <literal>X</literal> 変換の場合, 精度が指定されると,
106 <literal>0</literal> フラグも無視されます.
115 変換された値の文字がこのフィールド幅よりも少ない場合,
116 フィールドはフィールド幅の指定長まで左側にパディングされます.
121 オプションの精度. 精度は <literal>.</literal> (ドット)の後に
124 このパラメータは 0 (ゼロ)と扱われます.
130 <literal>d</literal>,
131 <literal>u</literal>, <literal>o</literal>, <literal>x</literal>, または
132 <literal>X</literal>変換に関する最小表示桁数
135 <literal>e</literal>, <literal>E</literal>, および <literal>f</literal>
139 <literal>g</literal> および<literal>G</literal>変換における
143 <literal>s</literal>変換において文字列から出力される
154 This may be useful for instance to print percentages, or
155 to process some LaTeX expression including LaTeX comments
156 starting with "%", etc.
163 Accepts a string or boolean <literal>value</literal>,
164 文字列から末尾または精度に示された文字数に達するまで,
165 文字に変換します.精度が指定されない場合,末尾までの全ての文字が
167 Input strings including some UTF-8 extended characters are supported.
168 Booleans are converted into 'T' or 'F'.
179 All following conversions accept any decimal numerical or boolean
180 input <literal>value</literal>. Only the real part of any input
181 complex number is considered. Booleans are implicitly converted
188 Converts the input <literal>value</literal> to a signed integer int32
189 notation. Conversions for input |Numbers| ≥ 2^31 are not reliable.
191 変換される値がより少ない桁数で表せる場合,
193 デフォルトの精度は1です.値0を精度0で変換した結果は,
195 前に付加する文字をゼロとしてフィールド幅を指定すると,
196 フィールド幅までの値では前にゼロを付加するパディングが
203 Converts the input <literal>value</literal> to an unsigned integer
204 uint32 notation. Conversions for input |Numbers| ≥ 2^32 are not reliable.
206 変換される値がより少ない桁数で表せる場合,
208 デフォルトの精度は1です.値0を精度0で変換した結果は,
210 前に付加する文字をゼロとしてフィールド幅を指定すると,
211 フィールド幅までの値では前にゼロを付加するパディングが
218 Converts the input <literal>value</literal> to an unsigned octal notation.
219 Conversions for input |Numbers| ≥ 2^32 are not reliable.
221 変換される値がより少ない桁数で表せる場合,
223 デフォルトの精度は1です.値0を精度0で変換した結果は,
225 前に付加する文字をゼロとしてフィールド幅を指定すると,
226 フィールド幅までの値では前にゼロを付加するパディングが
227 行われます. フィールド幅に8進数を使用することはできません.
233 Converts the input <literal>value</literal> to an unsigned hexadecimal
234 notation. Conversions for input |Numbers| ≥ 2^32 are not reliable.
235 <literal>x</literal>変換では,
236 文字``abcdef''が使用されます;<literal>X</literal>変換では,
238 精度はは表示される最小の桁数を指定します.
239 変換される値がより少ない桁数で表せる場合,
241 デフォルトの精度は1です.値0を精度0で変換した結果は,
243 前に付加する文字をゼロとしてフィールド幅を指定すると,
244 フィールド幅までの値では前にゼロを付加するパディングが
251 Converts the input <literal>value</literal> to a decimal notation in
252 the format %[\-]<literal>ddd.ddd</literal>.
253 小数点以下の桁数は,精度指定子に等しくなります.
256 精度が指定されない場合, 6桁が出力されます.
260 システムは<literal>value</literal>に最も近い整数に丸めた数を
264 小数点が出力される場合,最低でも1桁がその前に出力されます.
272 Converts the input <literal>value</literal> to the exponential
273 form %[\-]<literal>d.ddde</literal>+/\-<literal>dd</literal>.
274 小数点の前に1桁があり,小数点の後の桁数は精度指定子に等しくなります.
277 精度が指定されない場合, 6桁が出力されます.
280 精度がゼロの場合, 小数点は表示されません.
283 <literal>E</literal> 変換文字の場合,
284 指数の前の e の代わりに E を付けた数値を出力します.
286 値が 0 の場合, 指数は 0 となります.
292 <td style="white-space:nowrap"><emphasis role="bold">g, G :</emphasis></td>
295 <literal>e</literal>, <literal>E</literal>, または
296 <literal>f</literal>変換文字の形式に変換します.
297 Booleans are converted into 0 and 1. Only the real part of complex
298 numbers is considered.
300 小数点は数字が続く場合にのみ表示されます.
301 使用される形式は変換される値に依存します.
302 変換結果の指数が-4よりも小さい場合,または,
304 <literal>e</literal> (使用されるフラグが<literal>G</literal>の場合は
305 <literal>E</literal>)形式が使用されます.
313 フィールド幅または精度は, 桁文字の代わりに<literal>*</literal> (アスタリスク)で
315 この場合,整数 <literal>value</literal>パラメータは
317 出力に変換される<literal>value</literal> パラメータは
320 フィールド幅または精度を指定するパラメータは変換される値よりも
323 <para>変換の結果がフィールド幅よりも広い場合,
324 このフィールドは変換結果を含められる幅まで拡張されます.
327 +記号の意味は<literal>+</literal>または(空白)整形オプションの
330 <para>指数形式 %e の表示はプレットフォームに依存し,
332 <informaltable border="1">
335 <td>例: msprintf("%e",1.23e4)</td>
339 <td>1.23000e+004</td>
342 <td>Linux/Mac OS</td>
348 <emphasis role="bold">Special escaped sequenced</emphasis> are supported in C-format
353 <td>Go to Next line (line feed)</td>
357 <td>Return: go to the head of current line (for overprinting)</td>
361 <td>horizontal Tab</td>
365 <td>print a backslash \</td>
372 <programlisting role="example"><![CDATA[
373 mprintf('a string: %s\n', 'Scilab');
374 mprintf('an integer: %d\n', 10);
375 mprintf('an integer: %4d\n', 10);
376 mprintf('a left justified integer: %-4d\n', 10);
377 mprintf('an integer converted to float: %#fd\n',10);
378 mprintf('an integer with a sign: %+4d\n', 10);
379 mprintf('an integer with a sign: %+4d\n', -10);
380 mprintf('an integer padded with zeros: %04d\n', 10);
381 mprintf('an unsigned integer: %u\n', 10);
382 mprintf('an unsigned integer: %4u\n', -10);
383 mprintf('an integer converted to hexadecimal: %x\n', 10);
384 mprintf('a float: %d\n', %pi);
385 mprintf('a float: %3.2d\n', %pi);
386 mprintf('a float (exponential form): %3.2e\n', %pi);
387 mprintf('a float (exponential form): %3.2g\n', %pi);
388 mprintf('a character: %c\n', 'a');
389 mprintf('a character: %c\n', 'aaa');
395 <programlisting role="example"><![CDATA[
396 mprintf("\n%%d: %d, %%u: %u, %%o: %o, %%f: %f, %%e: %e, %%s: %s\n" + ..
397 "%%d: %d, %%u: %u, %%o: %o, %%f: %f, %%e: %e, %%s: %s\n", ..
398 %T, %T, %T, %T, %T, %T, %F, %F, %F, %F, %F, %F);
401 %d: 1, %u: 1, %o: 1, %f: 1.000000, %e: 1.000000e+00, %s: T
402 %d: 0, %u: 0, %o: 0, %f: 0.000000, %e: 0.000000e+00, %s: F
406 With numbered placeholders:
408 <programlisting role="example"><![CDATA[
409 mprintf("%2$s is %1$d-year old.\n", 32, "Peter");
412 Peter is 32-year old.
416 With escaped sequences and UTF-8 extended characters:
418 <programlisting role="example"><![CDATA[
419 mprintf("The path T:\\abc does not exist.\n");
420 mprintf("abcdefghijk\tαβδ\tεϵ\tζηθικλ\rABCDE\n");
423 --> mprintf("The path T:\\abc does not exist.\n");
424 The path T:\abc does not exist
426 --> mprintf("abcdefghijk\tαβδ\tεϵ\tζηθικλ\rABCDE\n");
427 ABCDEfghijk αβδ εϵ ζηθικλ
430 <refsection role="see also">
432 <simplelist type="inline">
434 <link linkend="mprintf">mprintf</link>
437 <link linkend="mfprintf">mfprintf</link>
440 <link linkend="msprintf">msprintf</link>
444 <refsection role="history">
448 <revnumber>6.1.0</revnumber>
450 Numbered placeholders "%n$.." are supported.
454 <revnumber>6.1.1</revnumber>
456 Input boolean data can be converted.