精确打印python平均值

时间:2014-04-03 03:24:59

标签: python

我希望在python中打印数据集的平均值,并且结果打印的精度为8位小数。

现在是我的代码:

 avg_to_print = the_sum / the_count

 print 'the average is ' + "%0.8f" % (avg_to_print)

这是为我计算正确的数字但由于某种原因它只显示int值(IE:它会将答案显示为100而不是100.12345678)。

请帮忙!

谢谢!

1 个答案:

答案 0 :(得分:3)

你应该这样做:

avg_to_print = float(the_sum)/the_count

它将值转换为浮点值,然后执行计算。 在python-2.7

问题在于你将int除以int并得到一个被截断为100的int。因此,即使您将其格式化为8小数位,您仍然会得到100这就是您遇到的问题。

实施例

>>> 5/2
2

>>> 5.0/2.0
2.5

>>> 5.0/2
2.5

>>> print ("%0.8f" % (100))
100

[注意]正如@MarkRansom指出的那样,您还可以执行以下操作:

>>> from __future__ import division
>>> 5/2
2.5