📌  相关文章
📜  检查浮点数是否为整数 - C 编程语言(1)

📅  最后修改于: 2023-12-03 15:26:48.680000             🧑  作者: Mango

检查浮点数是否为整数 - C 编程语言

当我们需要判断一个浮点数是否为整数时,可以使用以下方法。

方法一:使用类型转换

我们可以将浮点数转换为整数类型,然后再将整数类型转回浮点数类型。如果两次转换后的值相等,则说明原来的浮点数是一个整数。

#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() 函数将浮点数向下取整,如果取整后的值和原来的浮点数相等,则说明原来的浮点数是一个整数。

总结

以上就是判断一个浮点数是否为整数的两种方法,一种是使用类型转换,一种是使用数学库的函数。在实际编程中,可以根据自己的需要选择合适的方法。