Python decimal模块的使用
Python decimal 模块
Python中的浮点数默认精度是15位。
Decimal对象可以表示任意精度的浮点数。
getcontext函数
用于获取当前的context环境,可以设置精度、舍入模式等参数。
#在context中设置小数的精度
decimal.getcontext().prec = 100
通过字符串初始化Decimal类型的变量
因为通过浮点数初始化Decimal类型的变量会导致精度的丢失
# 浮点数的初始化
a = decimal.Decimal('3.14159265')
setcontext函数
decimal.ROUND_HALF_UP 对浮点数四舍五入
import decimal
x = decimal.Decimal('1.23456789')
context = decimal.Context(prec=4,rounding=decimal.ROUND_HALF_UP)
decimal.setcontext(context)
y1 = x
y2 = x*2
print("y1",y1)
print("y2",y2)>>>y1 1.23456789
>>>y2 2.469
localcontext函数
用于创建一个新的context环境,可以在该环境中设置精度、舍入模式等参数,不会影响全局的context环境。
import decimal
x = decimal.Decimal('1.23456789')
context0 = decimal.Context(prec=9,rounding=decimal.ROUND_HALF_UP)
decimal.setcontext(context0)
y1 = x * 2
print("y1",y1)with decimal.localcontext() as context:context.prec = 4context.rounding = decimal.ROUND_HALF_UPy2 = x * 2print("y2",y2)>>>y1 2.46913578
>>>y2 2.469
>>>
>>>
Python decimal模块的使用相关推荐
- 用decimal模块增加python的浮点数精度
浮点数python默认是17位精度,也就是小数点后16位(16位以后的全部四舍五入了),虽然有16位,但是这个精度越往后越不准. 如果有特殊需求,需要更多的精度,可以用decimal模块,通过更改其里 ...
- Python浮点数精度问题(decimal模块)
很多友友们在使用python编写程序时肯定都遇到过一个"阻拦索",那就是python的浮点数减法精度问题,如图 当时我也很吃惊,后来我问过比我资历高点的程序员得知,python的浮 ...
- python decimal用法_Python decimal模块使用方法详解
decimal 模块:decimal意思为十进制,这个模块提供了十进制浮点运算支持 1.可以传递给Decimal整型或者字符串参数,但不能是浮点数据,因为浮点数据本身就不准确. 2.要从浮点数据转换为 ...
- python中安装decimal模块_python decimal和fractions模块
1.简介 默认,浮点数学缺乏精确性 decimal 模块提供了一个Decimal 数据类型用于浮点数计算.相比内置的二进制浮点数实现float这个类型有助于金融应用和其它需要精确十进制表达的场合,控制 ...
- python decimal函数_Python之decimal模块的使用
decimal模块的作用 Decimal模块的实例可以准确地表示任何数,对其上或其下取整,还可以限制有效数字个数. 1.Decimal创建的使用 importdecimal fmt= '{0:< ...
- python decimal_Python中的decimal模块执行精确的浮点运算
简介 如果你从事科学或工程领域的大多数计算,那么使用普通的浮点类型是比较普遍的做法.因为在真实世界中很少会要求精确到17位精度的普通浮点数.因此,计算过程中的那么一点点的误差是被允许的.其次,原生的二 ...
- python decimal 转 float_python教程之二python数学运算
存储数据变量 #两个变量交换值,通过第三个参数实现 print('两个变量交换值,通过第三个参数实现'); #第一种方法是通过第三个参数实现 x=5;#变量赋值 y=11; #变量赋值 print(' ...
- [转]python各模块的学习
[-] 01 关于本书 02 代码约定 03 关于例子 04 如何联系我们 1 核心模块 11 介绍 111 内建函数和异常 112 操作系统接口模块 113 类型支持模块 114 正则表达式 115 ...
- python re 模块及正则表达式调用认识 (2)
接<python re 模块及正则表达式调用认识> \number 匹配与前面组编号相匹配的文本.从1开始编号到99. For example, (.+) \1 matches 'thet ...
最新文章
- php glod,基于PHP的黄金价格示例代码-六派数据
- 事务未提交 别人能读取到吗_Mysql 事务-面试笔记
- 物理常量/真空电容率/引力常量/真空磁导率/斯特潘-玻尔兹曼常量
- iFK蓝牙耳机的EQ调节
- Oracle8.1.7 报错01033,win10系统下oracle数据库报错ORA-01033如何解决
- 无损音乐下载网站推荐
- swift生成二维码
- 二、页面构成与色彩搭配
- 【Unity】关于GPU异步回读Android兼容性问题
- 20145212 罗天晨 信息搜集与漏洞扫描
- 如何优化网站关键词?
- 从postscript文件到pdf并裁减转动
- 安信可内测离线语音模块VB-01与ESP-C3-12F通信
- 假设平均绩点计算方法如下:(课程学分1*绩点+课程学分2*绩点+课程学分n*绩点)/(课程学分1+课程学分2+课程学分n)。用户循环输入五分制成绩和课程学分,输入‘-1’时结束输入,计算学生平均绩
- 信息化时代,你为什么还在坚持读纸质书
- Google 安装Sci-Hub搜索插件异常解决
- Java——Lambda表达式
- 截取日期,并和现在的时间对比
- 什么是ShellShock攻击?
- 基于Linux系统实现西门子PLC的数据采集