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相关推荐

  1. python取整方式(向上取整/向下取整/四舍五入)

    1.向下取整 向下取整直接用内建的 int() 函数即可: >>> a = 3.75 >>> int(a) 3 2.四舍五入 对数字进行四舍五入用 round() ...

  2. c# 整数除法取整_c# 三种取整方法 向上取整 向下取整 四舍五入

    c# 三种取整方法 向上取整 向下取整 四舍五入 Math.Round:四舍六入五取整 Math.Ceiling:向上取整,只要有小数都加1 Math.Floor:向下取整,总是舍去小数 public ...

  3. c# 四舍五入、上取整、下取整

    在处理一些数据时,我们希望能用"四舍五入"法实现,但是C#采用的是"四舍六入五成双"的方法,如下面的例子,就是用"四舍六入五成双"得到的结果 ...

  4. 【python】向上取整 向下取整

    python向上取整 向下取整 向上取整 ceil() 函数返回数字的向上取整整数,就是返回大于等于变量的最近的整数. ceil()是不能直接访问的,需要导入 math 模块. import math ...

  5. python如何对人数向上取整_python中的向上取整向下取整以及四舍五入的方法

    import math #向上取整 print "math.ceil---" print "math.ceil(2.3) => ", math.ceil( ...

  6. python计算结果向上取整_python中的向上取整向下取整以及四舍五入的方法

    import math #向上取整 print "math.ceil---" print "math.ceil(2.3) => ", math.ceil( ...

  7. python取整函数 向上取整 向下取整 四舍五入

    前提:import math 向上取整:math.ceil(x) 向下取整:math.floor(x) 取整数部分:math.trunc(x) 四舍五入:round(x) 例如:

  8. js向上取整 向下取整四舍五入方法总结

    Math.floor(5.55) //向下取整 结果为5 Math.floor(5.99) //向下取整 结果为5 Math.ceil(5.21) //向上取整,结果为6 Math.ceil(5.88 ...

  9. 前端处理运算 向上取整 向下取整 四舍五入 四舍五入(自定义取小数后几位)

    向上取整 Math.ceil() 向下取整 Math.floor() 四舍五入 Math.round() 四舍五入(自定义取小数后几位) // 计算结果是字符串 (5.6666666).toFixed ...

  10. python3小数向上取整_Python小数取整 向下取整、四舍五入、向上取整【分享】

    本帖子想要达到的效果: 会配置实体服务规则(能用实体服务规则实现的,尽量选用实体服务规则实现), 设置实体服务规则的字段必然触发条件, 小数类型的 可以实现向下取整.四舍五入.向上取整 功能. 先看界 ...

最新文章

  1. 2021-2027年中国智能马桶盖行业市场研究及前瞻分析报告
  2. unique函数_走进C++11(三十四)unique_ptr
  3. sqoop sqoop2_在Sqoop中管理密码的关键提示
  4. 酷睿i7cpu适合的linux,CPU性能篇 - Core i7-4770K Linux之旅:有喜有忧_Linux新闻_Linux公社-Linux系统门户网站...
  5. 事物与持久化_跟面试官侃半小时MySQL事务,说完原子性、一致性、持久性的实现...
  6. matlab调用c函数语言,MATLAB调用C/C++函数的方法
  7. Git 日常开发常用命令
  8. python 安装第三方库/包(命令/详细注释),如安装pyinstaller库
  9. Halcon 学习总结——错误处理方法
  10. 多线程矩阵乘法运算 c++
  11. 如何使用JS来改变CSS样式
  12. Apache Spark源码剖析
  13. 10000marker_嘉美生物-精准的DNA分子量标准 Marker。
  14. 物流matlab,物流配送线路优化Matlab算法研究
  15. 苹果怎么把某个app隐藏_苹果app超级签名是什么?超级签名设备用不完怎么办?...
  16. 开发手札:Unity与Android交互(Unity2019+)
  17. UE风格化Day7-maya的AO烘焙和SP绘制材质
  18. 晨风机器人发送图片_晨风机器人基本使用说明
  19. 平安科技移动开发二队技术周报(第十二期)
  20. [每日100问][2011-9-06]iphone开发笔记,今天你肿了么

热门文章

  1. 【GO】文件读写:判断文件是否存在
  2. SecureCRT使用之自动记录日志功能
  3. 使用阿里云的ip地址查询服务-使用免费版
  4. 中文搜索引擎技术揭密:网络蜘蛛(四)
  5. 多线程产生死锁的四个必要条件
  6. Python面向对象之私有化属性
  7. Ubuntu之搭建nginx图片服务器
  8. 程序员的mysql金典pdf_《程序员sql金典》pdf(完整)
  9. java正则表达式匹配字符串_java正则表达式如何匹配字符串
  10. Windows延缓写入失败-硬盘坏道