一、取整处理

1.int() 向下取整 内置函数

1 n = 3.75
2 print(int(n))>>> 3
3 n = 3.25
4 print(int(n))>>> 3

2.round() 四舍五入 内置函数

1 n = 3.75
2 print(round(n))>>> 4
3 n = 3.25
4 print(round(n))>>> 3

3. floor() 向下取整 math模块函数

floor的英文释义:地板。顾名思义也是向下取整

1 import math
2 n = 3.75
3 print(math.floor(n))>>> 3
4 n = 3.25
5 print(math.floor(n))>>> 3

4.ceil()向上取整 math模块函数

ceil的英文释义:天花板。

1 import math
2 n = 3.75
3 print(math.ceil(n))>>> 4
4 n = 3.25
5 print(math.ceil(n))>>> 4

5.modf() 分别取整数部分和小数部分 math模块函数

该方法返回一个包含小数部分和整数部分的元组
1 import math
2 n = 3.75
3 print(math.modf(n))>>> (0.75, 3.0)
4 n = 3.25
5 print(math.modf(n))>>> (0.25, 3.0)
6 n = 4.2
7 print(math.modf(n))(0.20000000000000018, 4.0)

最后一个的输出,涉及到了另一个问题,即浮点数在计算机中的表示,在计算机中是无法精确的表示小数的,至少目前的计算机做不到这一点。上例中最后的输出结果只是 0.2 在计算中的近似表示。Python 和 C 一样, 采用 IEEE 754 规范来存储浮点数。

二、小数处理

1.数据精度处理,保留小数位数

(1)%f四舍五入方法 ---> "%.2f"

  • 这个方法是最常规的方法,方便实用
a = 1.23456

print ('%.4f' % a)
print ('%.3f' % a)
print ('%.2f' % a)

----->1.2346
----->1.235
----->1.23

(2)不四舍五入

  • 方法1:使用序列中切片
#coding=utf-8

a = 12.345
print (str(a).split('.')[0] + '.' + str(a).split('.')[1][:2])

----> '12.34'
  • 方法2:使用re正则匹配模块
import re
a = 12.345
print (re.findall(r"\d{1,}?\.\d{2}", str(a)))

---->['12.34']

python(数据精度处理)的更多相关文章

  1. python数据精度问题

    一.python运算时精度问题: 1.运行时精度问题在Python中(其他语言中也存在这个问题,这是计算机采用二进制导致的),有时候由于二进制和十进制之间对应问题会导致数值的精度问题,比如无法用有限个 ...

  2. Django学习笔记(7)——单表操作和多表操作

    单表操作 1,创建模型 创建名为book的APP,在book下的models.py中创建模型: from django.db import models # Create your models he ...

  3. Python浮点数数据精度控制

    代码 import decimal from decimal import Decimal, getcontext if __name__ == '__main__': decimal.getcont ...

  4. 小猪猪逆袭成博士之C++基础篇(一)数据精度、强制类型转换、变量命名规则

    小猪猪逆袭成博士之C++基础篇(一) 关键词: 数据精度.强制类型转换.变量命名规则 综述: 1.大多数编程语言通过两种方式来进一步补充其特征:一是赋予程序员自定义数据类型的权利(C++中的类):二是 ...

  5. 洗礼灵魂,修炼python(14)--模块decimal, fractions,operator,collections以及精度介绍

    decimal 1.作用: 用于浮点数计算.相比内置的二进制浮点数实现 float这个类型有助于 金融应用和其它需要精确十进制表达的场合,控制精度,控制舍入以适应法律或者规定要求,确保十进制数位精度, ...

  6. python selenium自动化常用关键字

    工具安装: 1.安装python 2.安装selenium库(dos命令下进入selenium-2.53.2存放路径,执行pip install selenium-2.53.2) 3.将浏览器驱动放到 ...

  7. 通过Python包来剪枝、蒸馏DNN

    用 Distiller 压缩 PyTorch 模型 作者: PyTorch 中文网发布: 2018年7月15日 5,101阅读 0评论 近日,Intel 开源了一个用于神经网络压缩的开源 Python ...

  8. Python中的多进程与多线程(一)

    一.背景 最近在Azkaban的测试工作中,需要在测试环境下模拟线上的调度场景进行稳定性测试.故而重操python旧业,通过python编写脚本来构造类似线上的调度场景.在脚本编写过程中,碰到这样一个 ...

  9. Python高手之路【六】python基础之字符串格式化

    Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...

随机推荐

  1. JetBrainsIDEA-structure结构继承的图标说明

    图标3表示重写继承类中方法 图标2表示实现继承类抽象方法或接口中的方法 图标1表示未使用继承类中的方法 类中方法并非只统计显示继承类或实现接口中方法,而是对该类中所有方法进行分类,有可能某些方法是继承 ...

  2. Oracle系列六 分组函数

    分组函数作用于一组数据,并对一组数据返回一个值. 组函数类型 AVG COUNT MAX MIN STDDEV SUM 组函数语法 SELECT [column,] group_function(co ...

  3. openresty开发系列30--openresty中使用全局缓存

    openresty开发系列30--openresty中使用全局缓存 Nginx全局内存---本地缓存 使用过如Java的朋友可能知道如Ehcache等这种进程内本地缓存.Nginx是一个Master进 ...

  4. MD5(3)

    import java.io.UnsupportedEncodingException; import java.security.PrivateKey; import java.security.S ...

  5. UI Automator 介绍

    简介 Android 4.3发布的时候包含了一种新的测试工具–uiautomator,uiautomator是用来做UI测试的.也就是普通的手工测试,点击每个控件元素 看看输出的结果是否符合预期.比如 ...

  6. byte类型的取值为什么是-128~127

    参考:https://blog.csdn.net/qq_22771739/article/details/84496115 https://blog.csdn.net/boatalways/artic ...

  7. layui的select监听

    首先,select一定要放在<form class="layui-form" ></form>里面 然后,加监听<select id="id ...

  8. swoole实现多人游戏的要点

    swoole实现多人游戏的要点 比方说多人在线 要满足以下两点 1 所有玩家的数据要实时更新到服务器数据库数据 2 写个定时器返回数据

  9. 10 Servlet+Http+Request对象

    1.Servlet的体系结构 Servlet -- 接口----->GenericServlet -- 抽象类------->HttpServlet -- 抽象类 (1)GenericSe ...

  10. K8S从入门到放弃系列-(16)Kubernetes集群Prometheus-operator监控部署

    Prometheus Operator不同于Prometheus,Prometheus Operator是 CoreOS 开源的一套用于管理在 Kubernetes 集群上的 Prometheus 控 ...