我对行为很困惑,如下所示:
>>> (-7) % 3
2
>>> Decimal('-7') % Decimal('3')
Decimal('-1')
>>>
>>> (-7) // 3
-3
>>> Decimal('-7') // Decimal('3')
Decimal('-2')
>>>
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下吗?
引用decimal文档:
算术对十进制对象和算术对整数和浮点数有一些小的差别.当余数运算符% 应用于Decimal对象时,结果的符号是被除数的符号,而不是除数的符号:
Run Code Online (Sandbox Code Playgroud)>>> (-7) % 4 1 >>> Decimal(-7) % Decimal(4) Decimal('-3')整数除法运算符//表现类似,返回真商的整数部分(截断为零)而不是其底限,以便保留通常的标识x ==(x // y)*y + x%y:
Run Code Online (Sandbox Code Playgroud)>>> -7 // 4 -2 >>> Decimal(-7) // Decimal(4) Decimal('-1')
| 归档时间: |
|
| 查看次数: |
111 次 |
| 最近记录: |