C++的四舍五⼊函数四舍五入函数保留整数
本⽂由Markdown语法编辑器编辑⽽成。
C++的四舍五⼊函数⽐较:
对含有⼩数点的数进⾏四舍五⼊是⽐较普遍的⼀种需求。在C++中也有类似的取整函数。在C++的头⽂件中有floor()和ceil()函数。在STL 中还有round()函数。这三个函数的作⽤如下:
函数名称函数说明
2.1  2.9-2.1-2.9Floor()不⼤于⾃变量的最⼤整数22-3-3Ceil()不⼩于⾃变量的最⼤整数33-2-2Round()
四舍五⼊到最邻近的整数
2
3
-2
-3
从函数说明中可以看出,
(1) Floor()会取不⼤于⾃变量的最⼤整数,这样⾃变量是3.1或3.9是没有区别的,返回都是3;⾃变量是-2.1或-2.9也是没有区别的,返回都是-3;
(2) Ceil()会取不⼩于⾃变量的最⼤整数,这样⾃变量是3.1或3.9,返回都是4;⾃变量是-2.1或-2.9,返回的都是-2;
(3) Round()函数,才是我们需要的四舍五⼊的函数,因为它会返回离⾃变量最近的整数,这个返回的整数可能⼤于也可能⼩于原来的数,但是⼀定是离它最近的那个整数。
注:floor(), ceil()函数都包含在头⽂件“Math.h”中,但是round()函数未包含在该头⽂件中。因此可以通过以上的原理,来⾃⼰实现round()函数,实现含有⼩数的数字的四舍五⼊。代码实现⼀:
代码实现⼆:
参考链接:
int round_double(double number){
return  (number > 0.0) ? (number + 0.5) : (number - 0.5); }
1234
int  round_double(double  number){
return  (number > 0.0) ? floor(number + 0.5) : ceil(number - 0.5);}
1234