向上取整、向下取整、四舍五入、int
C语言中小数与整数之间的那点事
- 1. 向上取整
- 1.1 函数解析
- 1.2 举例
- 2. 向下取整
- 2.1 函数解析
- 2.2 举例
- 3. 四舍五入
- 3.1 函数解析
- 3.2 举例
- 3.3 其他方法
- 4. int
首先我们需要知道C标准库中是有向上/下取整的函数的,需要引入math.h,但是是否有四舍五入的函数(即round()函数),取决于你的编译器是否支持C99标准!不过不用担心,即使你的编译器不支持,我这里也会提供给你一种方式来解决四舍五入的问题。
1. 向上取整
1.1 函数解析
C语言中向上取整的函数为ceil(),
ceil(x)返回的是大于x的最小整数
所以对于正数,1.2向上取整为2;对于负数,-1.2向上取整为-1
(不会吧不会吧,不会真有人搞不清负数谁大谁小吧[狗头][狗头])
——————————————————————————>
−∞-\infty−∞ … -3 -2 -1 0 1 2 3 … +∞+\infty+∞
ceiling的意思是天花板,可与向上取整自行脑补一下
原型:double ceil(doube x);
返回值:
成功:返回一个double类型的数,此数默认有6位小数
无失败的返回值
1.2 举例
#include <stdio.h>
#include <math.h>
int main()
{double i = ceil(2.45);double j = ceil(-2.45);printf("%f\n%f\n",i,j);
}
//输出结果为:3.000000 -2.000000
2. 向下取整
2.1 函数解析
C语言中向下取整的函数为floor(),
floor(x)返回的是小于x的最大整数
所以对于正数,1.2向下取整为1;对于负数,-1.2向下取整为-2
floor的意思是地板,可与向下取整自行脑补一下
原型:double floor(doube x);
返回值:
成功:返回一个double类型的数,此数默认有6位小数
无失败的返回值
2.2 举例
#include <stdio.h>
#include <math.h>
int main()
{double i = floor(2.45);double j = floor(-2.45);printf("%f\n%f\n",i,j);
}
//输出结果为:2.000000 -3.000000
3. 四舍五入
3.1 函数解析
如果说你的编译器支持C99标准,那么可以直接用round()函数;
该函数的作用就是将一个小数四舍五入为整数;
原型:double round(doube x);
round的意思是附近,可与四舍五入自行脑补一下
3.2 举例
#include <stdio.h>
#include <math.h>
int main()
{double i = round(2.45);double j = round(-2.45);printf("%f\n%f\n",i,j);
}
//输出结果为:2.000000 -2.000000
//大家可考虑下我为什么用2.45这个值
3.3 其他方法
如果说编译器不支持C99,那么我们就需要自行设计一个函数来完成四舍五入的功能。
int Rounding(double x)
{return x>0 ? (int)(x+0.5) : (int)(x-0.5);
}
int main()
{double i = Rounding(2.45);double j = Rounding(-2.45);printf("%f\n%f\n",i,j);
}
//输出结果为:2.000000 -2.000000
4. int
关于int,其实很简单,直接“屏蔽”整数后面的小数
如: int(2.45) 结果为2,int(-2.45)结果为-2
额外补充:
运算符 ‘ / ’,即整除,其实也是向下取整的(注意除数和被除数都是int型)
向上取整、向下取整、四舍五入、int相关推荐
- python取整方式(向上取整/向下取整/四舍五入)
1.向下取整 向下取整直接用内建的 int() 函数即可: >>> a = 3.75 >>> int(a) 3 2.四舍五入 对数字进行四舍五入用 round() ...
- c# 整数除法取整_c# 三种取整方法 向上取整 向下取整 四舍五入
c# 三种取整方法 向上取整 向下取整 四舍五入 Math.Round:四舍六入五取整 Math.Ceiling:向上取整,只要有小数都加1 Math.Floor:向下取整,总是舍去小数 public ...
- c# 四舍五入、上取整、下取整
在处理一些数据时,我们希望能用"四舍五入"法实现,但是C#采用的是"四舍六入五成双"的方法,如下面的例子,就是用"四舍六入五成双"得到的结果 ...
- 【python】向上取整 向下取整
python向上取整 向下取整 向上取整 ceil() 函数返回数字的向上取整整数,就是返回大于等于变量的最近的整数. ceil()是不能直接访问的,需要导入 math 模块. import math ...
- python如何对人数向上取整_python中的向上取整向下取整以及四舍五入的方法
import math #向上取整 print "math.ceil---" print "math.ceil(2.3) => ", math.ceil( ...
- python计算结果向上取整_python中的向上取整向下取整以及四舍五入的方法
import math #向上取整 print "math.ceil---" print "math.ceil(2.3) => ", math.ceil( ...
- python取整函数 向上取整 向下取整 四舍五入
前提:import math 向上取整:math.ceil(x) 向下取整:math.floor(x) 取整数部分:math.trunc(x) 四舍五入:round(x) 例如:
- js向上取整 向下取整四舍五入方法总结
Math.floor(5.55) //向下取整 结果为5 Math.floor(5.99) //向下取整 结果为5 Math.ceil(5.21) //向上取整,结果为6 Math.ceil(5.88 ...
- 前端处理运算 向上取整 向下取整 四舍五入 四舍五入(自定义取小数后几位)
向上取整 Math.ceil() 向下取整 Math.floor() 四舍五入 Math.round() 四舍五入(自定义取小数后几位) // 计算结果是字符串 (5.6666666).toFixed ...
- python3小数向上取整_Python小数取整 向下取整、四舍五入、向上取整【分享】
本帖子想要达到的效果: 会配置实体服务规则(能用实体服务规则实现的,尽量选用实体服务规则实现), 设置实体服务规则的字段必然触发条件, 小数类型的 可以实现向下取整.四舍五入.向上取整 功能. 先看界 ...
最新文章
- 2021-2027年中国智能马桶盖行业市场研究及前瞻分析报告
- unique函数_走进C++11(三十四)unique_ptr
- sqoop sqoop2_在Sqoop中管理密码的关键提示
- 酷睿i7cpu适合的linux,CPU性能篇 - Core i7-4770K Linux之旅:有喜有忧_Linux新闻_Linux公社-Linux系统门户网站...
- 事物与持久化_跟面试官侃半小时MySQL事务,说完原子性、一致性、持久性的实现...
- matlab调用c函数语言,MATLAB调用C/C++函数的方法
- Git 日常开发常用命令
- python 安装第三方库/包(命令/详细注释),如安装pyinstaller库
- Halcon 学习总结——错误处理方法
- 多线程矩阵乘法运算 c++
- 如何使用JS来改变CSS样式
- Apache Spark源码剖析
- 10000marker_嘉美生物-精准的DNA分子量标准 Marker。
- 物流matlab,物流配送线路优化Matlab算法研究
- 苹果怎么把某个app隐藏_苹果app超级签名是什么?超级签名设备用不完怎么办?...
- 开发手札:Unity与Android交互(Unity2019+)
- UE风格化Day7-maya的AO烘焙和SP绘制材质
- 晨风机器人发送图片_晨风机器人基本使用说明
- 平安科技移动开发二队技术周报(第十二期)
- [每日100问][2011-9-06]iphone开发笔记,今天你肿了么