print python average with preicision
我希望用python打印一个数据集的平均值,并以8位小数的精度打印结果。
下面是我的代码:
1 2 3 | avg_to_print = the_sum / the_count print 'the average is ' +"%0.8f" % (avg_to_print) |
这是为我计算正确的数字,但出于某种原因,它只显示int值(即:它将把答案显示为100而不是100.12345678)。
请帮助!
谢谢!
你应该这样做:
1 | avg_to_print = float(the_sum)/the_count |
它将值强制转换为浮点数,然后执行计算。在
问题是,您将一个int除以一个int,得到一个被截断为
1 2 3 4 5 6 7 8 9 10 11 | >>> 5/2 2 >>> 5.0/2.0 2.5 >>> 5.0/2 2.5 >>> print ("%0.8f" % (100)) 100 |
[注意]正如@markransom指出的,您还可以执行以下操作:
1 2 3 | >>> from __future__ import division >>> 5/2 2.5 |