10的负8次方用python,decimal --- 十进制定点和浮点运算 — Python 3.8.8 說明文件

Python的decimal模块提供了一种用于高精度浮点数运算的方法,能够处理复杂的十进制运算,确保结果的准确性。本文介绍了如何使用decimal构造、转换、比较和执行算术运算,特别强调了与浮点数的区别以及与其它数字类型的兼容性。
摘要由CSDN通过智能技术生成

根据 value 构造一个新的 Decimal 对象。

value 可以是整数,字符串,元组,float ,或另一个 Decimal 对象。 如果没有给出 value,则返回 Decimal('0')。 如果 value 是一个字符串,它应该在前导和尾随空格字符以及下划线被删除之后符合十进制数字字符串语法:

sign ::= '+' | '-'

digit ::= '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9'

indicator ::= 'e' | 'E'

digits ::= digit [digit]...

decimal-part ::= digits '.' [digits] | ['.'] digits

exponent-part ::= indicator [sign] digits

infinity ::= 'Infinity' | 'Inf'

nan ::= 'NaN' [digits] | 'sNaN' [digits]

numeric-value ::= decimal-part [exponent-part] | infinity

numeric-string ::= [sign] numeric-value | [sign] nan

当上面出现 digit 时也允许其他十进制数码。 其中包括来自各种其他语言系统的十进制数码(例如阿拉伯-印地语和天城文的数码)以及全宽数码 '\uff10' 到 '\uff19'。

如果 value 是一个 tuple ,它应该有三个组件,一个符号( 0 表示正数或 1 表示负数),一个数字的 tuple 和整数指数。 例如, Decimal((0, (1, 4, 1, 4), -3)) 返回 Decimal('1.414')。

如果 value 是 float ,则二进制浮点值无损地转换为其精确的十进制等效值。 此转换通常需要53位或更多位数的精度。 例如, Decimal(float('1.1')) 转换为``Decimal('1.100000000000000088817841970012523233890533447265625')``。

context 精度不会影响存储的位数。 这完全由 value 中的位数决定。 例如,Decimal('3.00000') 记录所有五个零,即使上下文精度只有三。

context 参数的目的是确定 value 是格式错误的字符串时该怎么做。 如果上下文陷阱 InvalidOperation,则引发异常;否则,构造函数返回一个新的 Decimal,其值为 NaN。

构造完成后, Decimal 对象是不可变的。

3.2 版更變:现在允许构造函数的参数为 float 实例。

3.3 版更變:float 参数在设置 FloatOperation 陷阱时引发异常。 默认情况下,陷阱已关闭。

3.6 版更變:允许下划线进行分组,就像代码中的整数和浮点文字一样。

十进制浮点对象与其他内置数值类型共享许多属性,例如 float 和 int 。 所有常用的数学运算和特殊方法都适用。 同样,十进制对象可以复制、pickle、打印、用作字典键、用作集合元素、比较、排序和强制转换为另一种类型(例如 float 或 int )。

算术对十进制对象和算术对整数和浮点数有一些小的差别。 当余数运算符 % 应用于Decimal对象时,结果的符号是 被除数 的符号,而不是除数的符号:

>>>(-7) % 4

1

>>>Decimal(-7) % Decimal(4)

Decimal('-3')

整数除法运算符 // 的行为类似,返回真商的整数部分(截断为零)而不是它的向下取整,以便保留通常的标识 x == (x // y) * y + x % y:

>>>-7 // 4

-2

>>>Decimal(-7) // Decimal(4)

Decimal('-1')

% 和 // 运算符实现了 remainder 和 divide-integer 操作(分别),如规范中所

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值