有没有办法可以使用 Python 格式将 0.5 和 1 之间的值舍入到 0?而不是四舍五入到 1。
例如:
> number = 0.75
> print("Number {0:.0f}".format(number))
1
而不是将其四舍五入为 1,我希望它为 0。这可以通过格式化吗?
有没有办法可以使用 Python 格式将 0.5 和 1 之间的值舍入到 0?而不是四舍五入到 1。
例如:
> number = 0.75
> print("Number {0:.0f}".format(number))
1
而不是将其四舍五入为 1,我希望它为 0。这可以通过格式化吗?
int
地板浮动:
In [13]: number = 0.75
In [14]: 'Number {0:d}'.format(int(number))
Out[14]: 'Number 0'
为什么不截断?
>>> int(0.6)
0
>>> print("Number {0:.0f}".format(int(number)))
0
截断 withint
已经被提及。问题是对于负数,int
截断为 0,而不是负无穷大。所以一般来说math.floor
改用可能会更好,这也可能使意图更清晰。请注意,这math.floor
将返回一个浮点数。
> import math
> number = .75
> print "Number {:.0f}".format(math.floor(number))
0