この記事では、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型
の数値を表示するための書式と注意点です。