我的Python 3.4.2程序只会舍入到15个小数位,即使我使用round()函数告诉它更多

时间:2015-03-02 05:04:01

标签: python-3.x

我正在编写一个程序来将黄金比率逼近可能的最大精度。它有效,但当我告诉它舍入到超过16位小数位时,它只是没有超过15.这是我的代码:

# Using fractions to approximate the Golden Ratio

a = 1
b = 1
while b < 1000000000000000:
    g = a + b
    h = g / a
    print (round(h, 20))
    b = a
    a = g

我意识到while循环可能不是最好的方法,所以如果有更有效的方法,请通知我。但我的主要问题是这个四舍五入的问题是否可以解决?或者我只需要支付15个小数位?谢谢!

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

  • 如果你真的关心精确度,我相信你应该使用Decimal numbers而不是整数和花车。
  • 无论您使用何种类型,请确保以formatting your string的方式使用,而不仅仅是使用打印的默认设置。