📜  c float to int - C 编程语言(1)

📅  最后修改于: 2023-12-03 14:39:39.659000             🧑  作者: Mango

C语言中的浮点数转换为整数

在C编程中,有时需要将浮点数转换为整数。这可能是因为需要将浮点数舍入为整数,或者需要执行一些根据整数来执行的操作。

使用强制类型转换将浮点数转换为整数

在C语言中,可以使用强制类型转换将浮点数转换为整数。例如,以下代码将一个浮点数转换为整数:

float f = 3.14159;
int i = (int)f;

在这个例子中,浮点数f被强制转换为整数i。由于整数不能保存小数,所以浮点数被截断为整数,保留整数部分。在这个例子中,i将存储3。

舍入浮点数

在某些情况下,必须将浮点数舍入为整数。在C语言中,可以使用内置的舍入函数来执行此操作。下面是一些例子:

float f = 3.14159;
int i = round(f); // i将存储3,四舍五入到最近的整数
int j = ceil(f); // j将存储4,向上舍入到最近的整数
int k = floor(f); // k将存储3,向下舍入到最近的整数

在这些例子中,round()函数将浮点数四舍五入为最近的整数,ceil()函数将浮点数向上舍入为最近的整数,floor()函数将浮点数向下舍入为最近的整数。

注意:这些函数需要包含math.h头文件。

示例代码

以下是一个简单的C程序,演示了如何将浮点数转换为整数:

#include <stdio.h>
#include <math.h>

int main() {
    float f = 3.14159;
    int i1 = (int)f;
    int i2 = round(f);
    int i3 = ceil(f);
    int i4 = floor(f);
    printf("f = %f\n", f);
    printf("i1 = %d\n", i1);
    printf("i2 = %d\n", i2);
    printf("i3 = %d\n", i3);
    printf("i4 = %d\n", i4);
    return 0;
}

输出:

f = 3.141590
i1 = 3
i2 = 3
i3 = 4
i4 = 3

在这个例子中,浮点数f被转换为整数i1,并使用内置的舍入函数舍入为整数i2,i3和i4分别向上和向下舍入到最近的整数。

结论

在C编程中,为了将浮点数转换为整数,可以使用强制类型转换和内置的舍入函数。强制类型转换将浮点数截断为整数,舍入函数将浮点数舍入为最近的整数。