1

所以我有一个任务来匹配预期的输出:34.7381。但我得到 34.73809999999999。我意识到它只是一个只有 4 位小数的四舍五入数字,但我不知道如何在短时间内做到这一点。

我可以强制它并检查小数点的位置,检查它后面有多少个字符,消除所有字符并自己进行四舍五入。但对于如此简单的事情来说,这似乎相当复杂和愚蠢。

谢谢你的帮助!

4

3 回答 3

4

你试过圆形功能吗?

a = 34.73809999999999
print round(a, 4)
>>> 34.7381
于 2013-03-13T02:57:44.387 回答
2

您可以使用字符串格式:

>>> '{:0.4f}'.format(34.7381)
    '34.7381'
>>> '{:0.4f}'.format(34.73809999999999)
    '34.7381'
于 2013-03-13T02:56:38.113 回答
1

不用担心,只需指定您想要的打印精度:

>>> print('{:.4f}'.format(34.73809999999999))
34.7381
于 2013-03-13T02:56:36.907 回答