C/C++中的取整运算
对含有小数点的数进行四舍五入是比较普遍的一种需求。在C++中也有类似的取整函数。在C++的头文件中有floor()和ceil()函数。在STL中还有round()函数。这三个函数的作用如下:
函数名称 | 函数说明 | 2.1 | 2.9 | -2.1 | -2.9 |
Floor() | 不大于自变量的最大整数 | 2 | 2 | -3 | -3 |
Ceil() | 不小于自变量的最大整数 | 3 | 3 | -2 | -2 |
Round() | 四舍五入到最邻近的整数 | 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);
}
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
代码实现二:
int round_double(double number)
{return (number > 0.0) ? floor(number + 0.5) : ceil(number - 0.5);
}
C/C++中的取整运算相关推荐
- Python中的取整运算
Python中的取整运算 1.int()向下取整 1 n = 3.75 2 print(int(n)) >>>3 2.round() 四舍五入取整 1 n = 3.75 2 prin ...
- java 凑整_Java语言中的取整运算(包括截尾取整,四舍五入,凑整)? – 日记
import java.math.BigDecimal; import java.text.DecimalFormat; public class TestGetInt{ public static ...
- Python中的取整、取余运算
1.取整运算 在Python中取整运算的运算符为//,且取整运算的取整为向下取整,不进行四舍五入 例:9//4=2,即9对4取整等于2 -9//-4=2,因为-9÷-4=2.25,取整为2 那么问题来 ...
- Python中的取模运算方法
一个关于-10%3的小问题,python在运算 -10%3和 10%-3时的输出结果竟然是2和-2,但是我们自己手动运算的话结果难道不是 -1和1吗?所以记录一下吧! 在小学中关于余数的定义,在整数的 ...
- 大于3小于4的整数bleem_java中的取整与四舍五入方法实例
java中的取整与四舍五入方法实例,方式,正数,负数,四舍五入,小数点 java中的取整与四舍五入方法实例 易采站长站,站长之家为您整理了java中的取整与四舍五入方法实例的相关内容. 一.java中 ...
- python中的取整
虽然取整是各种语言中最基础的操作, 可是往往多了一个1或者少了一个1会导致巨大的灾难,所以我觉得还是很有必要写一下的. python中的取整操作有://, round, int, ceil, floo ...
- MATLAB取整运算
MATLAB的五种取整运算 1 按照四舍五入的规则取整 形式:round(x) >> round(3.6) ans =4 ------------ >> round(3.4) ...
- 取模是什么意思python_原来Python中的取模运算方法竟然是这样的!
今天小编就为大家分享一篇Python中的取模运算方法,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 所谓取模运算,就是计算两个数相除之后的余数,符号是%.如a % b就是计算a除以b ...
- python取模运算_Python中的取模运算方法
所谓取模运算,就是计算两个数相除之后的余数,符号是%.如a % b就是计算a除以b的余数.用数学语言来描述,就是如果存在整数n和m,其中0 <= m < b,使得a = n * b + m ...
最新文章
- UNITY2018 真机开启deepprofiling的操作
- C#继承与多态 virtual虚方法的使用 在子类中使用override重写父类函数
- 我的8年经验之谈:35岁的功能测试就没有未来了?自己也能拯救自己!
- win10 android 手机驱动下载,win10手机刷机包驱动
- 韩国瑜会见陆委会主委陈明通:别给高雄念紧箍咒
- 图文并茂全面总结上百个Android Studio好用的插件(IDE通用)
- GUID分区表的学习
- 华为首款台式机计算机发布,华为首款商用台式机一文读懂:商用PC进入智慧时代...
- C 语言吧 · 问题资料大全
- 【转发】JS实现密码加密
- Linux ALSA 之六:ALSA ASoc 架构
- python数据分析岗位_python拉勾数据职位分析
- 去年四大业务全线“上涨”,这家零部件巨头仍净亏近8千万欧元
- 秋天来了,穿衣搭配。简单几件穿出独特气质
- Docker——阿里云搭建Docker Swarm集群
- 一、我来说LuCI: LuCI官方----3. Theme and Modules
- php 递归递实现无限层级
- 网站开发CSS十条口诀
- Vue.use 写多个_尼玛扎西:躬耕高原 把论文写在大地上
- TerminateThread 导致LoadLibary 死锁