次の方法で共有


精度指定

更新 : 2007 年 11 月

書式指定の中で省略できる 3 番目のフィールドは、精度 (precision) 指定フィールドです。このフィールドには、ピリオド (.) に続けて、出力する文字数、小数点以下の桁数、または有効桁数を負でない 10 進整数で指定します。「型に対する精度指定の効果」の表を参照してください。文字幅指定とは異なり、精度指定では出力値が切り捨てられたり、浮動小数点数が丸められたりすることがあります。precision に 0 を指定し、変換する値を 0 にすると、文字は出力されません。

printf( "%.0d", 0 );      /* No characters output */

精度指定にアスタリスク (*) を指定すると、引数リストの int 型の引数から値が提供されます。引数 precision は、引数リストの中で、書式指定する値の前に指定します。

precision に指定した値がどのように解釈されるか、precision を指定しない場合の既定の処理は、次のように、指定した型によって異なります。

型に対する精度指定の効果

説明

既定値

a、A

精度には小数点以下の桁数を指定します。

既定の精度は 6 です。精度を 0 にすると、# フラグを使用しない限り、小数点は出力されません。

c、C

精度指定は無効です。

文字が出力されます。

d、i、u、o、x、X

出力する桁数の最小値を指定します。引数中の桁数が precision に指定した値より小さい場合は、出力値の左に 0 が埋め込まれます。桁数が precision の値を超えた場合でも、値は切り捨てられません。

既定の精度は 1 です。

e、E

小数点以下の出力桁数を指定します。出力される最後の数字は丸められます。

既定の精度は 6 です。precision に 0 を指定した場合や、後続の数字を指定しないでピリオド (.) を指定した場合は、小数点は出力されません。

f

小数点以下の桁数を指定します。小数点が表示される場合は、整数部に少なくとも 1 つは数字が表示されます。値は適切な桁数まで丸められます。

既定の精度は 6 です。precision に 0 を指定した場合や、後続の数値を指定しないでピリオド (.) を指定した場合は、小数点は出力されません。

g、G

出力する有効桁数の最大値を指定します。

6 桁の有効桁数 6 桁が出力され、後続の 0 は切り捨てられます。

s、S

出力する最大文字数を指定します。precision の値を超える文字は出力されません。

NULL 文字に到達するまで、文字が出力されます。

浮動小数点指定子に対応する引数が無限大、不定、または非数 (NaN) の場合、printf 関数による出力は次のとおりです。

出力

+ 無限大

1.#INFrandom-digits

– 無限大

–1.#INFrandom-digits

不定 (クワイエット型非数 (quiet NAN) と同じ)

digit.#INDrandom-digits

非数 (NaN)

digit.#非数 (NaN)random-digits

参照

参照

printf、_printf_l、wprintf、_wprintf_l