装载自https://blog.csdn.net/weibo1230123/article/details/80511939
C语言有以下几种取整方法:
1、直接赋值给整数变量。如: int i = 2.5; 或 i = (int) 2.5; 这种方法采用的是舍去小数部分。
2、C/C++中的整数除法运算符"/"本身就有取整功能(int / int),而下面介绍的取整函数返回值是double。整数除法对正数的取整是舍去小数部分,但是整数除法对负数的取整结果和使用的C编译器有关。
3、使用floor函数,向下取整。floor(x)返回的是x的整数部分。如: floor(2.5) = 2 floor(-2.5) = -3
4、使用ceil函数,向上取整。ceil(x)返回的是不大于x的最小整数。如: ceil(2.5) = 2 ceil(-2.5) = -2 floor和ceil对于正数没有区别,但是对于负数结果不同。floor()是向负无穷大舍入,floor(-2.5) = -3;ceil()是向正无穷大舍入,ceil(-2.5) = -2。
5、round(x)返回x的四舍五入整数值。
C语言数学函数ceil(), floor(), round()
#include <math.h>
double ceil(double x);
double floor(double x);
double round(double x);
ceil(x)返回不小于x的最小整数值(然后转换为double型)。
floor(x)返回不大于x的最大整数值。
round(x)返回x的四舍五入整数值。