C语言(C++)中:详解floor函数、ceil函数和round函数
C语言中
1.floor函数
功能:把一个小数向下取整
即就是如果数是2.2 ,那向下取整的结果就为2.000000
原型:double floor(doube x);
参数解释:
x:是需要计算的数
返回值:
成功:返回一个double类型的数,此数默认有6位小数
无失败的返回值
头文件:#include<math.h>
示例
floor函数计算后的结果为double类型的:
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
double i = floor(2.2);
double j = floor(-2.2);
printf("The floor of 2.2 is %f\n", i);
printf("The floor of 2.2 is %f\n", j);
system("pause");
return 0;
}
运行结果:
floor函数把转换后的结果强转为int类型的:
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
int i = floor(2.2);
int j = floor(2.7);
printf("i=%d,j=%d\n", i, j);
system("pause");
return 0;
}
运行结果:
ps:把计算结果强转为int后,会丢失精度
2.ceil函数
功能:把一个小数向上取整
即就是如果数是2.2 ,那向上取整的结果就为3.000000
原型:double ceil(doube x);
参数解释:
x:是需要计算的数
返回值:
成功:返回一个double类型的数,此数默认有6位小数
无失败的返回值
头文件:#include<math.h>
示例
ceil函数计算的结果为double类型的:
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
double i = ceil(2.2);
double j = ceil(-2.2);
printf("The ceil of 2.2 is %f\n", i);
printf("The ceil of 2.2 is %f\n", j);
system("pause");
return 0;
}
运行结果:
ceil函数把计算后的结果强转为int类型的:
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
int i = ceil(2.2);
int j = ceil(2.7);
printf("i=%d,j=%d\n", i, j);
system("pause");
return 0;
}
运行结果:
3.round函数
功能:把一个小数四舍五入
即就是如果数是2.2 ,那四舍五入的结果就为2
如果数是2.5,那结果就是3
原型:double round(doube x);
参数解释:
x:是需要计算的数
头文件:#include<math.h>
示例
round函数的计算结果为double类型的:
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
double i = round(2.2);
double x = round(2.7);
double j = round (-2.2);
double y = round(-2.7);
printf("The round of 2.2 is %f\n", i);
printf("The round of 2.7 is %f\n", x);
printf("The round of -2.2 is %f\n", j);
printf("The round of -2.7 is %f\n", y);
system("pause");
return 0;
}
运行结果:
C++中
1.floor函数
#include<iostream>
using namespace std;
int main()
{
double i = floor(2.2);
double j = floor(-2.2);
cout << "The floor of 2.2 is " << i << endl;
cout << "The floor of -2.2 is " << j << endl;
system("pause");
return 0;
}
运行结果:
2.ceil函数
#include<iostream>
using namespace std;
int main()
{
double i = ceil(2.2);
double j = ceil(-2.2);
cout << "The ceil of 2.2 is " << i << endl;
cout << "The ceil of -2.2 is " << j << endl;
system("pause");
return 0;
}
运行结果:
3.round函数
#include<iostream>
using namespace std;
int main()
{
double i = round(2.2);
double x = round(2.7);
double j = round(-2.2);
double y = round(-2.7);
cout << "The round of 2.2 is " << i << endl;
cout << "The round of 2.7 is " << x << endl;
cout << "The round of -2.2 is " << j << endl;
cout << "The round of -2.7 is " << y << endl;
system("pause");
return 0;
}
运行结果: