【发布时间】:2021-06-24 23:16:12
【问题描述】:
我目前正在尝试使用具有可变小数位长度的数字。它可以是整数,也可以是最多 10 位小数,即 33.3333333。我想限制数字在超过长度时只有 2 位小数,或者如果它更少,则保持原始数字。
我尝试过使用"{:0:.2f}".format,但问题是对于整数,它还会在字符串末尾添加 .00。
当我尝试使用 round(3) 时,它会返回 3.0。
有没有一种方法,最好是单行,可以将 3.333333 转换为 3.33,但仍允许 3 保留为 int?
【问题讨论】:
-
您使用的是 Python 2 吗?因为
round(3)在 Python 3 中返回3,而不是3.0。您可能应该升级(Python 2 在一年半前结束生命周期)。
标签: python integer decimal rounding