数据处理是编程中不可避免的,很多时候都需要根据需求把获取到的数据进行处理,取整则是最基本的数据处理。取整的方式则包括向下取整、四舍五入、向上取整等等。

1、向下取整

向下取整直接用内建的 int() 函数即可:

>>> a = 3.75
>>> int(a)
3

2、四舍五入

对数字进行四舍五入用 round() 函数:

>>> round(3.25); round(4.85)
3.0
5.0

3、向上取整

向上取整需要用到 math 模块中的 ceil() 方法:

>>> import math
>>> math.ceil(3.25)
4.0
>>> math.ceil(3.75)
4.0
>>> math.ceil(4.85)
5.0

4、分别取整数部分和小数部分

有时候我们可能需要分别获取整数部分和小数部分,这时可以用 math 模块中的 modf() 方法,该方法返回一个包含小数部分和整数部分的元组:

>>> import math
>>> math.modf(3.25)
(0.25, 3.0)
>>> math.modf(3.75)
(0.75, 3.0)
>>> math.modf(4.2)
(0.20000000000000018, 4.0)

有人可能会对最后一个输出结果感到诧异,按理说它应该返回 (0.2, 4.0) 才对。这里涉及到了另一个问题,即浮点数在计算机中的表示,在计算机中是无法精确的表示小数的,至少目前的计算机做不到这一点。上例中最后的输出结果只是 0.2 在计算中的近似表示。Python 和 C 一样, 采用 IEEE 754 规范来存储浮点数,如果希望更详细的了解这一点,可以参考知乎话题: 为什么0.1+0.2=0.30000000000000004而1.1+2.2=3.3000000000000003?.

Python 几种取整的方法相关推荐

  1. Java:四种取整的方法

    java 中取整操作提供了四种方法:分别是: public static double ceil(double a)//向上取整 第一种:ceil是天花板的意思,表示向上取整.   测试: Syste ...

  2. python向上取整的方法_python 取整的两种方法,python向上取整的方法,问题简介:  要把一...

    python 取整的两种方法,python向上取整的方法,问题简介: 要把一 问题简介: 要把一个浮点数(float)整数部分提取出来.比如把"2.1"变成"2" ...

  3. python的三种取整方式_python取整函数-取整函数,PYTHON

    本教程分享:<python取整函数>, python有什么办法使得 int 按照"四舍五入"的方式取... 由于小数取整会采用比较暴力的截断方式,即向下取整,所以要想使 ...

  4. C语言有以下几种取整方法:

    C语言有以下几种取整方法: 1.直接赋值给整数变量.如:    int i = 2.5; 或 i = (int) 2.5;    这种方法采用的是舍去小数部分. 2.C/C++中的整数除法运算符&qu ...

  5. C 语言取整的几种方法6,C语言有以下几种取整方法:

    C语言有以下几种取整方法: 1.直接赋值给整数变量.如:    int i = 2.5; 或 i = (int) 2.5;    这种方法采用的是舍去小数部分. 2.C/C++中的整数除法运算符&qu ...

  6. Python向上取整 向下取整的方法

    1.python向下取整 方法: 一般使用floor除法,一般除法/,round()四舍五入函数 2.python向上取整 方法: Python match.ceil函数 ceil(x)函数是向上取整 ...

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

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

  8. C语言有以下几种取整方法

    C语言有以下几种取整方法:     1.直接赋值给整数变量.如:     int i = 2.5; 或 i = (int) 2.5;     这种方法采用的是舍去小数部分     2.C/C++中的整 ...

  9. python除以10取整_python ceiling divide 除法向上取整(或小数向上取整)的实例

    python ceiling divide 除法向上取整(或小数向上取整)的实例 向上取整的方法: 方法1: items = 102 boxsize = 10 num_boxes = (items + ...

最新文章

  1. uniapp 长链接 socket 封装
  2. 链表问题13——删除无序单链表中值重复出现的节点
  3. 【mysql】mysql的数据库主从(一主一从)
  4. php websocket 心跳包,websocket 心跳包重连
  5. 漫画通信:有了它,终于可以放心买买买了
  6. django 学习-7 模型数据操作
  7. 【Axure组件库】Axure移动端小程序组件库 移动端高交互元件库
  8. 网络信息安全期末复习要点
  9. 服务器自带的防篡改,防篡改系统
  10. 关于多个Jenkins实例共享同一个工作目录的问题
  11. playwright 启动已经打开的浏览器,或者远程浏览器
  12. Word | 在给毕业论文添加页眉和页脚的时候,如何略过首页和第二页
  13. 硬盘分区不够,怎么合并分区?
  14. 对于特殊轨道,是否违反泡利不相容原理?
  15. break、continue、goto
  16. Vbox虚拟机开机自启动配置
  17. python 实时获取股票行情脚本
  18. 动态gif图片如何在线做?轻松实现图片在线生成gif
  19. My97DatePicker,年份加周显示 YYYY-WW
  20. D2D2C 和Tivoli Flashcopy ManagerTSM的解决方案

热门文章

  1. docker安装并启动mysql
  2. Echarts折线图部分区域标记
  3. 小米Note 2:没有继承三星Note 7的衣钵,却抢了锤子的饭碗
  4. Linux himawaripy动态壁纸设置
  5. 开发人员做代码变动需要得到批准
  6. 前后端分离的框架简记
  7. java计算机毕业设计雷士灯具管理系统源码+系统+mysql数据库+lw文档
  8. linux egrep和grep区别,Linux中的Grep,Egrep和Fgrep有什么区别?
  9. 将EXCEL的列号转换为字母
  10. net start mysql 遇到 MySql 服务正在启动 MySql 服务无法启动 服务没有报告任何错误 解决方式