C言語で小数点以下2桁を取得する方法を教えてください。
C言語では、小数点以下2桁を取得するために以下の方法を使用できます。
- printf関数を使ってのフォーマット出力:
float num = 3.14159;
printf("%.2f", num); // 输出结果为 3.14
指定されたフォーマットに従って浮動小数点数を2桁までの小数点で出力します。
- sprintf関数を使用して浮動小数点数を文字列に変換し、その後切り取ります。
float num = 3.14159;
char str[10];
sprintf(str, "%.2f", num);
printf("%s", str); // 输出结果为 3.14
这种方法将浮点数转换为字符串后,可以使用字符串处理函数来截取小数点后两位。
- floor関数とpow関数を使用する:
#include <math.h>
float num = 3.14159;
float result = floorf(num * 100) / 100;
printf("%.2f", result); // 输出结果为 3.14
この方法は、最初に浮動小数点数を100倍にし、次にfloor関数を使って切り捨て、最後に100で割ることで小数点以下2桁の値が得られます。
- 浮動小数点数の型変換の使用:
float num = 3.14159;
float result = (int)(num * 100) / 100.0;
printf("%.2f", result); // 输出结果为 3.14
この方法では、浮動小数点数を100倍にして、強制的に整数型に変換し、それを100.0で除算することで、小数点以下2桁の値を取得できます。
注意すべきことは、上記の方法はすべて浮動小数点数を切り取るか変換するものであり、その結果は浮動小数点数または文字配列(文字列)となります。