将任何小于1的值格式化为0?

2024-04-25 16:48:31 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有一种方法可以使用Python格式来舍入介于.5和1到0之间的值?而不是四舍五入到1。你知道吗

例如:

> number = 0.75
> print("Number {0:.0f}".format(number))
1

我不想把它四舍五入到1,而是希望它是0。格式化可以吗?你知道吗


Tags: 方法formatnumber格式print
3条回答

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

前面已经提到了用int截断。问题是,对于负数,int向0截断,而不是负无穷大。因此,一般来说,最好使用math.floor,这也可能使意图更清楚。请注意,math.floor将返回一个float。你知道吗

> import math
> number = .75
> print "Number {:.0f}".format(math.floor(number))
0

相关问题 更多 >