📅  最后修改于: 2023-12-03 14:41:14.473000             🧑  作者: Mango
在C++中,将浮点数转换为整数可以使用以下两种方法:
使用强制类型转换即可将浮点数转换为整数。例如:
float fNum = 3.14;
int iNum = (int)fNum;
向 int
类型的变量赋值时,会对 fNum
进行截断,只保留小数点前的整数部分,如果是负数,则进行向下取整。
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
中的函数则可以更为精准地进行舍入。