📅  最后修改于: 2023-12-03 15:26:48.680000             🧑  作者: Mango
当我们需要判断一个浮点数是否为整数时,可以使用以下方法。
我们可以将浮点数转换为整数类型,然后再将整数类型转回浮点数类型。如果两次转换后的值相等,则说明原来的浮点数是一个整数。
#include <stdio.h>
int main() {
float num = 5.00;
if ((float)(int)num == num) {
printf("%f is an integer.\n", num);
} else {
printf("%f is not an integer.\n", num);
}
return 0;
}
输出:
5.000000 is an integer.
使用 (int)
将浮点数转换为整数类型,再使用 (float)
将整数类型转回浮点数类型。
我们还可以使用数学库的函数来判断一个浮点数是否为整数。数学库中的 floor()
函数会将浮点数向下取整,如果向下取整后的值和原来的浮点数相等,则说明原来的浮点数是一个整数。
#include <stdio.h>
#include <math.h>
int main() {
float num = 5.00;
if (floor(num) == num) {
printf("%f is an integer.\n", num);
} else {
printf("%f is not an integer.\n", num);
}
return 0;
}
输出:
5.000000 is an integer.
使用 floor()
函数将浮点数向下取整,如果取整后的值和原来的浮点数相等,则说明原来的浮点数是一个整数。
以上就是判断一个浮点数是否为整数的两种方法,一种是使用类型转换,一种是使用数学库的函数。在实际编程中,可以根据自己的需要选择合适的方法。