在Python中显示浮点数的时候,我们可能会需要把数字精确到小数点后若干位,例如: 87654.32101
,精确到小数点后两位为 87654.32
。用Python的 round
函数就可以实现:
>>>round(87654.32101, 2)87654.32
但有时候,可能需要把一些大数字精确到小数点前若干位,例如 98765453291.12
精确到千位,写作 98765453000
。这样的需求用Python应该如何实现呢?
你可能会这样写:
>>> a = 98765453291.12>>> b = int(a / 1000) * 1000>>> b98765453000
实际上, round
函数的第二个参数如果是正数表示小数点后若干位,是负数表示小数点前若干位。例如:
>>>round(98765453291.12, -3)98765453000.0
如果你觉得末尾的 .0
有点碍眼,那也可以把它转成整数:
>>>int(round(98765453291.12, -3))98765453000