Python提供了decimal模块用于十进制数学计算,它具有以下特点:

  1. 提供十进制数据类型,并且存储为十进制数序列;
  2. 有界精度:用于存储数字的位数是固定的,可以通过decimal.getcontext().prec=x 来设定,不同的数字可以有不同的精度
  3. 浮点:十进制小数点的位置不固定(但位数是固定的)

decimal的构建:

可以通过整数、字符串或者元组构建decimal.Decimal,对于浮点数需要先将其转换为字符串

decimal的context:

decimal在一个独立的context下工作,可以通过getcontext来获取当前环境。例如前面提到的可以通过decimal.getcontext().prec来设定小数点精度(默认为28)

from  decimal import Decimal
from  decimal import getcontextd_context = getcontext()
d_context.prec = 6
print(d_context)d = Decimal(1) / Decimal(3)
print(type(d), d)

log:

Context(prec=6, rounding=ROUND_HALF_EVEN, Emin=-999999, Emax=999999, capitals=1, clamp=0, flags=[], traps=[InvalidOperation, DivisionByZero, Overflow])
<class 'decimal.Decimal'> 0.333333

转载于:https://www.cnblogs.com/keqipu/p/7229350.html

Python模块-decimal相关推荐

  1. python decimal_实例详解Python模块decimal

    Python提供了decimal模块用于十进制数学计算,它具有以下特点: 1.提供十进制数据类型,并且存储为十进制数序列: 2.有界精度:用于存储数字的位数是固定的,可以通过decimal.getco ...

  2. 神经网络与深度学习——TensorFlow2.0实战(笔记)(四)(python模块、包和库)

    模块(Module) 模块是一个python文件(.py),拥有多个功能相近的函数或类. 便于代码复用,提高编程效率,提高了代码的可维护性. 避免函数名和变量名冲突. 包(Package) 为了避免模 ...

  3. python 模块 导入机制 模块搜索 Python包 发布python模块或程序

    python 模块 python模块:以.py结尾的代码文件.        顶层文件: 程序执行入口        模块文件1        模块文件2        模块文件3 在python中一 ...

  4. Python3,我用这种方式讲解python模块,80岁的奶奶都说能理解。建议收藏 ~ ~

    Python模块讲解 1.引言 2.python模块详解 2.1 含义 2.2 代码示例 2.3 进阶 3.总结 1.引言 小屌丝:鱼哥,你看天上的月亮越来越圆了. 小鱼:唉~ 又是一年团圆夜,又是一 ...

  5. Python 模块大全(很详细!)

    转载:.... Python的模块大全,很全,有详细介绍! 另外附Python两个教程 1. Python详细教程(廖雪峰的官方网站,语言简洁!) 2. Python 进阶教程 (Vamei) 3. ...

  6. Python模块(自己整理并不完整)

    PY核心模块方法 ******************** os模块: os.remove() 删除文件  os.unlink() 删除文件  os.rename() 重命名文件  os.listdi ...

  7. GPUtil是一个Python模块,使用nvidia-smi从NVIDA GPU获取GPU状态

    GPUtil是一个Python模块,使用nvidia-smi从NVIDA GPU获取GPU状态 一个Python模块,用于在Python中使用nvidia-smi以编程方式从NVIDA GPU获取GP ...

  8. 在Ubuntu 14.04.5 LTS上安装python模块selenium 3实录

    简介 Selenium是python模块库中一组web自动化测试工具集,提供多种语言的API,例如java,python,ruby,.net等,支持Firefox,Chrome,IE,Safari 等 ...

  9. Python模块MySQLdb操作mysql出现2019错误:Can't initialize character set utf-8

    我使用python的MySQLdb模块实现了一个mysql client, 在测试时,出现了如下错误 Python模块MySQLdb操作mysql出现2019错误:Can't initialize c ...

最新文章

  1. “新一代人工智能”研究的三大重点方向
  2. SVG(H5可缩放的矢量图形)
  3. sphinx索引文件进一步说明——最好是结合lucene一起看,直觉告诉我二者本质无异...
  4. Spring Boot 项目打包 + Shell 脚本部署实践,太有用了!
  5. 快做这 15点,让 SpringBoot 启动更快一点!
  6. 20170819 - 今日技能封装 - A
  7. delphi7存储过程传入数组_js数组方法reduce
  8. ceph查看卷_基于CEPH后端存储搭建Harbor
  9. centos 7.2安装 java_centos7.2 linux系统上安装java环境
  10. 数组sort()方法排序
  11. java.lang.NoClassDefFoundError: org/jaxen/JaxenException
  12. 计算机虚拟机安装教程,VMware(虚拟机)装Win7系统详细图文教程
  13. Chrome 插件集推荐
  14. 别样肉客首次针对中国市场独家研发创新植物性猪肉糜产品
  15. 51nod 1238 最小公倍数之和 V3
  16. Android 手电筒的开启方法
  17. 痞子衡嵌入式:IAR内部C-SPY调试组件配套宏文件(.mac)用法介绍
  18. 程序测试的逻辑覆盖测试方法
  19. python从数组中随机选择一些元素_numpy.random随机选择数组元素如何更高效
  20. mysql修改视图定义_MySQL修改视图

热门文章

  1. hdu5354 Bipartite Graph
  2. pdf怎么转换成word文字版
  3. 解决oracle11g连接失败 ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist
  4. 在线文本行固定长度填充工具
  5. php jwt token刷新方案,解决使用jwt刷新token带来的问题
  6. bio nio aio区别_什么是BIO、NIO和AIO?
  7. jquery 逗号分割截取字符串_经典面试题:分割回文串
  8. android os FileUriExposedException file storage emulated 0 test tx
  9. Bamboo基础概念
  10. 答读者问(7):相关实习、在软件开发和测试等论文和关系问题