【C言語】printfでdouble型の数値を表示するための書式とは?

この記事では、C言語のprintf関数を使用してdouble型の数値を表示する方法と注意点について解説します。

目次から探す

double型の数値を表示するための書式

書式指定子の種類

C言語のprintf関数を使用して、double型の数値を表示する際には、適切な書式指定子を使用する必要があります。

以下に一般的な書式指定子の種類を示します。

  • %f: 浮動小数点数を10進数で表示します。
  • %eまたは%E: 浮動小数点数を指数表記で表示します。
  • %gまたは%G: 浮動小数点数を適切な形式で表示します。

小数点以下の桁数が少ない場合は指数表記になります。

書式指定子の使い方

書式指定子は、printf関数のフォーマット文字列内に使用します。

以下に例を示します。

double num = 3.14159;
printf("numの値は%fです。\n", num);

上記の例では、%fを使用してdouble型変数numを表示しています。

小数点以下の桁数の指定方法

printf関数を使用してdouble型の数値を表示する際に、小数点以下の桁数を指定することもできます。

以下に例を示します。

double num = 3.14159;
printf("numの値は%.2fです。\n", num);

上記の例では、%.2fと指定することで、小数点以下2桁まで表示されます。

このように、%.nfと指定することで、小数点以下n桁まで表示することができます。

double型の数値を表示する際の注意点

浮動小数点数の誤差による表示の違い

浮動小数点数は、内部的に近似値で表現されるため、厳密な値とは異なる場合があります。

そのため、double型の数値を表示する際には、誤差による表示の違いに注意する必要があります。

double num1 = 0.1;
double num2 = 0.2;
double sum = num1 + num2;
printf("sumの値は%fです。\n", sum);

上記の例では、0.1と0.2を足した結果を表示していますが、期待通りの0.3ではなく、0.300000と表示される場合があります。

これは、浮動小数点数の誤差によるものです。

指数表記の使用方法

浮動小数点数を指数表記で表示する場合には、%eまたは%Eを使用します。

以下に例を示します。

double num = 123456789.0;
printf("numの値は%eです。\n", num);

上記の例では、%eを使用して指数表記で表示しています。

結果は、1.234568e+08となります。

指数表記の場合、%eは小文字の指数表記、%Eは大文字の指数表記を意味します。

以上が、C言語のprintf関数を使用してdouble型の数値を表示するための書式と注意点です。

目次から探す