Python自动舍入小数

时间:2015-11-07 13:31:52

标签: python floating-point decimal rounding

我试图以每年26%的速度获得每日费率。

在Python中,1.26**(1/365)为我提供了1.0

在Excel中,1.26^(1/365)给了我1.000633,这就是我想要的。

为什么Python会这样做?如何才能获得更准确的结果?

1 个答案:

答案 0 :(得分:6)

您正在使用Python 2.x,因此1 / 365为零(两个整数的除法返回一个整数)。零权力的任何东西都是1。

你需要使用真正的分裂;您可以将其中一个数字作为浮点数来触发:

>>> 1.26 ** (1.0 / 365)
1.000633383299703