1.强制转换类型取整
比如float转int、double转long等。
#include <iostream>
int main(int argc, const char * argv[]) {
int i = 2.5;
float j = 2.5;
int k;
k = (int)j;
std::cout << i << std::endl;
std::cout << k << std::endl;
return 0;
}
结果是舍去小数部分。
2
2
2.整除的不同情况
#include <iostream>
int main(int argc, const char * argv[]) {
std::cout << 3/2 << std::endl; //正数除以正数且被除数大于除数
std::cout << 2/3 << std::endl; //正数除以正数且被除小于除数
std::cout << -2/-3 << std::endl; //负数除以负数且被除数大于除数
std::cout << -3/-2 << std::endl; //负数除以负数且被除数小于除数
std::cout << 2/-3 << std::endl; //正数除以负数且被除数绝对值小于除数
std::cout << 3/-2 << std::endl; //正数除以负数且被除数绝对值大于除数
std::cout << -2/3 << std::endl; //负数除以正数且被除数绝对值小于除数
std::cout << -3/2 << std::endl; //负数除以正数且被除数绝对值大于除数
return 0;
}
结果也都是舍去小数,也就是结果为正向下舍,结果为负向上入。
1
0
0
1
0
-1
0
-1
3、使用floor函数
注意:floor函数需要include math.h头文件
floor(x)返回的是小于或等于x的最大整数。
#include <iostream>
#include <math.h>
int main(int argc, const char * argv[]) {
std::cout << floor(2.5) << std::endl;
std::cout << floor(-2.5) << std::endl;
return 0;
}
2
-3
4、使用ceil函数
注意:ceil函数需要include math.h头文件
ceil(x)返回的是大于x的最小整数。
#include <iostream>
#include <math.h>
int main(int argc, const char * argv[]) {
std::cout << ceil(2.5) << std::endl;
std::cout << ceil(-2.5) << std::endl;
return 0;
}
3
-2