花了很长时间来跟踪它基本上是归结到我假设两以下modulos将返回大于0的结果的错误:为什么十进制模数会给出错误的符号?
>>> -0.09 % 0.1
0.010000000000000009 # OK
>>> Decimal('-0.09') % Decimal('0.1')
Decimal('-0.09') # Not OK -- I expected a positive value!
这种行为似乎违背Python docs:
模运算符总是产生一个结果与相同的符号作为其第二个操作数(或零)
这是一个错误,还是我做错了什么?
既然你引述的医生说“总是“,并且它没有通过将其限制为任何特定类型来限定该声明,我认为可以说文档是错误的。 –