我需要在C中编写一个函数,将浮点数向下舍入为整数。例如,10.6变为10. 22.1249变为22.但是,我不能使用楼层功能。可以这样做吗?
答案 0 :(得分:0)
使用整数转换来向下舍入浮点数。
float yourFloat = 10.5;
int down = (int)yourfloat; //down = 10.
要舍入到最接近的整数,请将0.5f
添加到浮点数,然后进行强制转换。
float f1 = 10.3, f2 = 10.8;
int i1, i2;
i1 = (int)(f1 + 0.5f); //i1 = 10
i2 = (int)(f2 + 0.5f); //i2 = 11
要向上舍入数字,请使用带有某些强制转换的if语句:
int result = (int)yourFloat;
if (yourFloat - (int)yourFloat > 0) {
result++;
}