1.简介

默认,浮点数学缺乏精确性

decimal 模块提供了一个Decimal 数据类型用于浮点数计算。相比内置的二进制浮点数实现float这个类型有助于金融应用和其它需要精确十进制表达的场合,控制精度,控制舍入以适应法律或者规定要求,确保十进制数位精度,或者用户希望计算结果与手算相符的场合。Decimal重现了手工的数学运算,这就确保了二进制浮点数无法精确保有的数据精度。高精度使Decimal 可以执行二进制浮点数无法进行的模运算和等值测试。

2.使用

>>> from decimal import Decimal

>>> Decimal('0.1') / Decimal('0.3')

Decimal('0.3333333333333333333333333333')

>>> from decimal import getcontext

>>> getcontext().prec = 4 #设置全局精度

>>> Decimal('0.1') / Decimal('0.3')

Decimal('0.3333')

fractions

>>> from fractions import Fraction

>>> Fraction(16, -10)  #分子分母

Fraction(-8, 5)

>>> Fraction(123)   #分子

Fraction(123, 1)

>>> Fraction('3/7')   #字符串分数

Fraction(3, 7)

>>> Fraction('-.125')  #字符串浮点数

Fraction(-1, 8)

>>> Fraction(2.25)  #浮点数

Fraction(9, 4)

>>> from decimal import Decimal

>>> Fraction(Decimal('1.1')) #Decimal

Fraction(11, 10)

>>> from fractions import Fraction

>>> a = Fraction(1,2)

>>> a

Fraction(1, 2)

>>> b = Fraction('1/3')

>>> b

Fraction(1, 3)

>>> a + b

Fraction(5, 6)

>>> a - b

Fraction(1, 6)

python中安装decimal模块_python decimal和fractions模块相关推荐

  1. python中scale的用法_Python Decimal scaleb()用法及代码示例

    Decimal#scaleb():scaleb()是一个Decimal类方法,该方法将第二个值与其exp相加后返回第一个操作数. 用法:Decimal.scaleb() 参数:十进制值 返回:将第二个 ...

  2. python中ln怎么写_Python Decimal ln()用法及代码示例

    Decimal#ln():ln()是一个Decimal类方法,它返回Decimal值的自然(对数e)对数. 用法:Decimal.ln() 参数:十进制值 返回:十进制值的自然(以e为底)对数. 代码 ...

  3. python中pass的用法_python学习之getpass模块使用

    我们登入linux时,输入密码是什么都不显示的,在python中也可以这样做,那就是getpass模块(在pycharm中无法使用) getpass模块中包含几个比较实用的功能: 1.getpass ...

  4. python中xlrd写操作_Python读写操作Excel模块_xlrd_xlwt_xlutils

    Python 读写操作Excel -- 安装第三方库(xlrd.xlwt.xlutils.openpyxl) 如果仅仅是要以表单形式保存数据,可以借助 CSV 格式(一种以逗号分隔的表格数据格式)进行 ...

  5. python中的所有功能_python – 是否可以列出模块中的所有功能?

    参见英文答案 > listing all functions in a python module                                    12个答案        ...

  6. 如何在Python中安装NumPy

    公众号-IT赶路人,专注分享与IT相关的知识! NumPy是Python编程不可或缺的一个库.在本文中,我们将学习如何在Python中安装NumPy.以下要点将在本文中介绍,让我们开始吧! 什么是Nu ...

  7. python中安装wordcloud 出现cl.exe failed with exit status 2问题解决

    1.首先,第一次安装wordcloud中出现error: Microsoft Visual C++ 14.0 is required,这里需要安装vs,详细步骤参见 https://blog.csdn ...

  8. cmd进入到python安装目录下_在python中安装basemap

    在python中安装basemap 1. 确保python环境安装完毕且已配置好环境变量 2. 安装geos: pip install geos 3. 下载.whl文件: (1)pyproj‑1.9. ...

  9. wrapper在python中_virtualenvwrapper如何在python中安装虚拟环境?

    上一篇我们讲过virtualenv在python中的安装虚拟环境,它还有另一个小伙伴virtualenvwrapper.如果大家感兴趣的话,可以边学边分析两者的不同,接下来开始我们今天的讲解. 一.使 ...

  10. Python中安装GDAL

    Python中安装GDAL 1. 安装步骤 1.1 方法1 1.2 方法2 2. 测试 3. 参考 1. 安装步骤 方法1更简单,但是也可能出现较多问题,方法2更直观一次成功. 1.1 方法1 步骤1 ...

最新文章

  1. 图片的奇怪Cache_MISS原因!
  2. CodeForces 396C 树状数组 + DFS
  3. 高效程序员的45个习惯 pdf_高效瑜伽人的 5 个习惯,你get到了几个?
  4. nginx rewrite
  5. 人生苦短我学python表情包_Python自动生成表情包
  6. 单循环链表(C语言实现)
  7. IE edge是怎么了??
  8. linux mysql5.7.11_在Linux中以命令行方式安装 MySQL 5.7.11 for Linux Generic 二进制版本
  9. 【agc004d】Teleporter
  10. 很多人在网络上创业看不到本质
  11. LooseScan Strategy
  12. ubuntu 系统学习
  13. 直播常见协议概念说明
  14. AcWing 188 武士风度的牛 题解(BFS)
  15. 企业微信SCRM怎么弄永久群二维码?可以实现社群私域流量裂变吗?
  16. MySql desc 的三种用法
  17. 实现多余文字显示省略号
  18. 注塑模具设计师要懂得的四个概念
  19. Building MFC application with /MD[d] (CRT dll version)requires MFC shared dll version~~~~
  20. 【踩坑日记 · 前端】为 Excalidraw 添加中文手写字体

热门文章

  1. 菩提本无树,明镜亦非台,本来无一物,何处惹尘埃
  2. 台式电脑怎么添加计算机硬盘,台式机如何添加硬盘|台式机添加硬盘的方法
  3. check your GPU Compute Capability| 2021 英伟达 GPU 的计算能力排名
  4. “科林明伦杯”哈尔滨理工大学第十届程序设计竞赛——G.养花【网络流】
  5. MyBatis遇到:There is no getter for property named ‘Xxx‘ in ‘class xxx.xxx.Xxx‘问题
  6. 最简单易学的手机打字方法
  7. Spring/Boot/Cloud系列知识(2)——代理模式
  8. py实现外星人入侵(二次开发)——2.添加音乐
  9. MySQL cluster集群/NDB集群学习
  10. 邮箱发送附件 附件大小有限制