📜  float to int c++ (1)

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

将浮点数转换为整数

在C++中,将浮点数转换为整数可以使用以下两种方法:

方法一: 常规方法

使用强制类型转换即可将浮点数转换为整数。例如:

  float fNum = 3.14;
  int iNum = (int)fNum;

int 类型的变量赋值时,会对 fNum 进行截断,只保留小数点前的整数部分,如果是负数,则进行向下取整。

方法二:cmath头文件中的函数

C++提供了 ceil()floor()round() 函数,可以将浮点数转换为整数。它们的区别在于舍入方式不同。

  #include <cmath>
  float fNum = 3.14;
  int iNum1 = ceil(fNum);  // 向上取整,iNum1 = 4
  int iNum2 = floor(fNum); // 向下取整,iNum2 = 3
  int iNum3 = round(fNum); // 四舍五入,iNum3 = 3

使用这些函数可以在不同情况下更精确地舍入浮点数。

注意: 在使用这些函数时,需要包含 cmath 头文件。

总结

以上两种方法都可以将浮点数转换为整数,根据实际需求可选择使用。使用 强制类型转换 更为简单,但是会有精度损失;使用 cmath 中的函数则可以更为精准地进行舍入。