版权声明:emmm……我也想成为大佬 https://blog.csdn.net/CV_Jason/article/details/84822059
取整操作是处理浮点型数据常用的操作,C/C++提供了3中取整方式,以供使用——
double floor(double x);
顾名思义,floor函数的功能是向下取整。
double ceil(double x);
ceil的功能是向上取整。
double trunc(double x);
trunc的功能是舍尾操作。
这三个函数都需要引入头文件#include<math.h>
,下面举个例子说明三者的用法——
/* round vs floor vs ceil vs trunc */
#include <stdio.h>
#include <math.h>
int main ()
{
const char * format = "%.1f \t%.1f \t%.1f \t%.1f \t%.1f\n";
printf ("value\tround\tfloor\tceil\ttrunc\n");
printf ("-----\t-----\t-----\t----\t-----\n");
printf (format, 2.3,round( 2.3),floor( 2.3),ceil( 2.3),trunc( 2.3));
printf (format, 3.8,round( 3.8),floor( 3.8),ceil( 3.8),trunc( 3.8));
printf (format, 5.5,round( 5.5),floor( 5.5),ceil( 5.5),trunc( 5.5));
printf (format,-2.3,round(-2.3),floor(-2.3),ceil(-2.3),trunc(-2.3));
printf (format,-3.8,round(-3.8),floor(-3.8),ceil(-3.8),trunc(-3.8));
printf (format,-5.5,round(-5.5),floor(-5.5),ceil(-5.5),trunc(-5.5));
return 0;
}