我的计算很简单,但却提供了错误的答案,
例如3**0.1-0.3
应该等于0.0
,
但Python解释器给出了0.8161
即使使用Decimal系统。
我正在使用python 3.6.3
,这是我的代码:
from decimal import Decimal as D
print(D('3')**D('0.1')-D('0.3'))
输出:
0.816123174033904434442614138
答案 0 :(得分:1)
**
和*
之间存在差异。
尝试
print(D('3')*D('0.1')-D('0.3'))
答案 1 :(得分:0)
上面的答案是正确的,如果您所使用的是电源,请使用您可以为其供电的数学模块。
import math
print (math.pow (3,(0.1-0.3)))
答案 2 :(得分:0)
由于0.1和0.3之间的差值为负0.2。由于负指数意味着数字的重新定位,你可以尝试使用数学模块。
3**(1/float (-1*(0.1-0.3)))