python的小数数字对象,类似于浮点数,只不过小数数字有固定的位数和小数点。
python小数数字是有固定精度的浮点值。
python小数数字对象的性能略微低于浮点数。
python小数数字需使用decimal模块。
python的decimal.getcontext().prec可以设置小数精度。
1.1 python小数基础知识
python浮点数缺乏精确性,因为存储数值的空间有限。
python小数对象可以修正浮点数的精确性问题。
1.1.1 Decimal()
python不同小数位数的Decimal对象运算时,自动升级为小数位数最多的小数位。
用法
Decimal(str)
描述
生成小数字符串对应的Decimal对象。
入参
str:小数字符串
示例
>>> 0.1+0.1+0.1-0.3
5.551115123125783e-17
>>> print(0.1+0.1+0.1-0.3)
5.551115123125783e-17
>>> from decimal import Decimal
>>> Decimal('0.1')+Decimal('0.1')+Decimal('0.1')-Decimal('0.3')
Decimal('0.0')
>>> Decimal('0.10')+Decimal('0.1')+Decimal('0.1')-Decimal('0.3')
Decimal('0.00')
1.2 设置全局精度
python通过上下文对象(decimal.getcontext().prec)设置小数的全局精度。
示例
>>> import decimal
>>> decimal.Decimal(1)/decimal.Decimal(7)
Decimal('0.1428571428571428571428571429')
>>> decimal.getcontext().prec = 4
>>> decimal.Decimal(1)/decimal.Decimal(7)
Decimal('0.1429')
1.3 临时设置精度
python通过本地上下文管理器(decimal. localcontext ().prec)设置小数的临时精度。语句执行完后,继续使用初始精度。
示例
>>> import decimal
>>> decimal.Decimal('1.00')/decimal.Decimal('3.00')
Decimal('0.3333333333333333333333333333')
>>> with decimal.localcontext() as ctx:
... ctx.prec = 2
... decimal.Decimal('1.00')/decimal.Decimal('3.00')
...
...
Decimal('0.33')
>>> decimal.Decimal('1.00')/decimal.Decimal('3.00')
Decimal('0.3333333333333333333333333333')
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
浮点数
+关注
关注
0文章
60浏览量
15870 -
python
+关注
关注
56文章
4797浏览量
84700
发布评论请先 登录
相关推荐
Python的面向对象编程详解
一般编程可分为面向过程编程,和面向对象编程。Python的面向对象编程,与Java的面向对象很像。之所以需要面向对象编程,是为了更好地实现封
发表于 09-04 16:35
•568次阅读
VHDL 怎么定义整数数组和小数数组啊
比如简单的以为数组我想定义成(3,13,22,3,4,5)这种,怎么定义成二维(1,3,4;2,5,4)同上一维小数数组怎么定义,二维小数数组怎么定义楼主新手,发现给的一维和二维例程都是逻辑的0和1 ,非常苦恼
发表于 05-14 16:24
Python中常用的数据类型
~9223372036854775807。long(长整型)Python长整型没有指定位宽,但是由于机器内存有限,使用长的长整数数值也不可能无限大。float(浮点型)浮点型也就是带有小数点的数,其
发表于 04-19 15:14
3分钟看懂Python面向对象
Python虽然是解释型语言,但从设计之初就已经是一门面向对象的语言,对于Python来说一切皆为对象。正因为如此,在Python中创建一个
发表于 06-08 14:20
总结:一文了解Python中的数字类型
支持三种不同的数字类型,整数、浮点数和复数。 整数通常被称为整型,数值为正或者负,不带小数点。python 3的整型可以当做Long类型使用,所以python 3 没有
发表于 09-26 16:49
Python中的类和对象详解
Python 是一种面向对象的编程语言,它支持类和对象。类是一种用户自定义的数据类型,用于定义对象的属性和方法。对象是类的实例,它包含类的属
使用Teachable Machine和Python轻松进行对象检测
电子发烧友网站提供《使用Teachable Machine和Python轻松进行对象检测.zip》资料免费下载
发表于 06-27 09:26
•0次下载
python如何保留一位小数
本文将详细介绍Python中保留一位小数的方法。我们将探讨浮点数的基本概念,并提供多种方法来实现精确的小数保留。无论是使用内置函数还是第三方库,我们将详细解释它们的原理和用法。希望通过阅读本文,您将
mysql中decimal的用法
MySQL中的DECIMAL是用于存储精确数值的数据类型。DECIMAL可以存储固定精度和小数位数的值。在MySQL中,DECIMAL数据类型有两个参数:精度和
decimal类型怎么插数
Decimal是Python中的一个内置模块,用于处理浮点数操作,它提供了更高精度和更精确的结果。在Python中,我们可以使用Decimal类型来插入和处理
decimal类型怎么定义
decimal类型是一种用于表示十进制数的数据类型。与浮点数类型不同,decimal类型提供了更高的精确度,对于需要精确计算的场景非常有用。在很多编程语言中,如C#、Java和Python,都支持
数据库中decimal是什么类型
数据库中decimal是一种用于存储精确小数的数据类型。在数据库中,decimal常用于存储货币金额、科学计算和需要精确计算的场景。本文将详尽、详实、细致地探讨decimal的定义、存
数据库decimal对应java什么类型
、货币计算以及其他需要高精度计算的场景下, BigDecimal 是一个非常重要的数据类型。 在数据库中, decimal 类型通常用于存储具有固定精度和小数位数的数值。与其他基本的数值类型(如整型
评论