python之decimal
decimal是python的标准库之一,我们通常用它来进行浮点数的运算和比较。
为什么需要使用decimal
因为使用浮点数计算比较会有误差,请看下面的例子
a1 = 1.01
b1 = 1.02if a1+b1 == 2.03:print('ok')
else:print('no')
# 有精度的误差
print(a1+b1)
结果:
no
2.0300000000000002
decimal实现
我们建议浮点数的运算和比较采用Decimal来实现
from decimal import Decimal
a2 = Decimal('1.01')
b2 = Decimal('1.02')if a2+b2 == Decimal('2.03'):print('ok')
else:print('no')
print(a2+b2)
print(type(a2+b2))
结果:
ok
2.03
<class 'decimal.Decimal'>
注意事项
Decimal初始化值必须是数字字符串或者是整数,浮点数的要转成字符串后才传入
print(Decimal('1.01'))
print(Decimal(1.01))
结果:
1.01
1.0100000000000000088817841970012523233890533447265625
python之decimal相关推荐
- python decimal_实例详解Python模块decimal
Python提供了decimal模块用于十进制数学计算,它具有以下特点: 1.提供十进制数据类型,并且存储为十进制数序列: 2.有界精度:用于存储数字的位数是固定的,可以通过decimal.getco ...
- Python模块-decimal
Python提供了decimal模块用于十进制数学计算,它具有以下特点: 提供十进制数据类型,并且存储为十进制数序列: 有界精度:用于存储数字的位数是固定的,可以通过decimal.getcontex ...
- python中decimal用法详解
decimal是python内置库. decimal模块支持快速正确四舍五入的十进制浮点运算. 示例代码: import decimala = decimal.Decimal(123) print(a ...
- 【python】Decimal的使用
1.说明 python原生数据类型在进行浮点运算时,可能会由于精度问题导致计算结果不准确,尤其是浮点数和较大的数据进行运算,所以如果对数据精度有要求,比如说金额,我们就需要使用decimal这个库 2 ...
- python的decimal
Python自带的decimal模块用于十进制数学计算,它是在浮点类型的基础上设计的,可以非常精确地在计算机中存储和计算,精度优于floating point,因为浮点数并不能精确的表示十进制数,因为 ...
- Python TypeError: Object of type ‘Decimal‘ is not JSON serializable 类型错误 无法json
场景:今天使用python 查询了一个MYSQL 数据库的信息 数据库的字段为decimal 类型 我将结果进行json.dumps 报错 TypeError: Object of type 'De ...
- python decimal是什么类型_decimal 详解
1.为什么要有decimal,解决了什么问题,为什么不用float 因为float会丢失精度.原因在于二进制要想表示十进制的数就会存在误差,比如用二进制来表示0.1,根本无法精确表示,但是这不是bug ...
- 独家|测量、建议、快速上手!你所使用的Python对象占用了多少内存?(附代码)...
作者:Gigi Sayfan 翻译:吴振东 校对:吴金笛 本文约3300字,建议阅读10分钟. 本文将介绍多种Python对象分别所占用的内存,并解释所选择的测量方法和函数,为节省内存提供建议. Py ...
- python中math isnan,在python中指定一个变量NaN,不用numpy
是 – 使用float('nan')或float('NaN').从Python 3.5开始,你也可以使用 math.nan. >>> a = float('nan') >> ...
最新文章
- 爬虫正则表达式遇到的困难
- cs精英游戏python代码_python面向对象-cs游戏示例
- 原生js双向数据绑定
- php ipa 版本定制,class.php
- 译:用iPhone SDK来画饼图(Pie Charts)报表
- 【优化预测】基于matlab蝙蝠算法优化SVM预测【含Matlab源码 141期】
- iir数字滤波器设计及matlab实现,终稿毕业论文:IIR数字滤波器设计及其MATLAB实现.docOK版(样例3)...
- 组态王中Modbus字节顺序的调整
- 【Matlab MTSP】灰狼算法求解多旅行商问题(同始终点)【含源码 1564期】
- 利用css实现div背景颜色动态渐变
- php网页游戏开发代码,PHP游戏编程25个脚本代码
- 5首2021一些流行好听歌曲的吉他和弦
- Excel VBA 实现Ribbon自定义功能区
- 模具设计分型的10大原则
- js--动态生成表格
- Nestjs中的守卫
- 用EXCEL分析《亚马逊智能产品评论》
- uc浏览器视频缓存合并工具
- docker创建容器共享目录
- Fundamentals of Computer Graphics third/Fourth Edition
热门文章
- 【管理心得之七】什么样的团队成员,才是组织需要的?
- MySQL深度分页的问题及优化方案:千万级数据量如何快速分页
- XILINX K7 DDR3引脚验证总结
- 帝国备份王mysql导入_使用帝国备份王EmpireBak备份与恢复网站的MySQL数据库
- Unity制作第三人称射击游戏-成为创新游戏开发者学习教程
- 浅析三种近场通信技术
- 第1 章电子数据取证概述
- Android - Broadcasts overview(不完整)
- 谁的青春不似梦,谁的梦里不青春
- TOMCAT/JS/CSS/JavaWeb/浏览器老是加载缓存/谷歌浏览器/微软浏览器/刷新键都按烂了/无法加载样式解决办法之一