有没有办法可以使用Python格式来舍入和.5和1到0之间的值?而不是将其四舍五入到。
例如:
> number = 0.75
> print("Number {0:.0f}".format(number))
1
而不是将其四舍五入到1,我希望它为0。格式化可以吗?
答案 0 :(得分:2)
int
楼层浮动:
In [13]: number = 0.75
In [14]: 'Number {0:d}'.format(int(number))
Out[14]: 'Number 0'
答案 1 :(得分:1)
为什么不截断?
>>> int(0.6)
0
>>> print("Number {0:.0f}".format(int(number)))
0
答案 2 :(得分:0)
已经提到了使用int
截断。问题是对于负数,int
截断为0,而不是负无穷大。因此,通常最好使用math.floor
代替,这也可能使意图更清晰。请注意,math.floor
将返回一个浮点数。
> import math
> number = .75
> print "Number {:.0f}".format(math.floor(number))
0