2013-09-23 46 views
0

有沒有一種方法可以使用Python格式來進行四捨五入和.5和1之間的值爲0?代替四捨五入它爲1。將小於1的任何值設置爲0?

例如:

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

代替四捨五入它高達1我想它是0,而不是。這可能與格式?

回答

2

int地板浮動:

In [13]: number = 0.75 

In [14]: 'Number {0:d}'.format(int(number)) 
Out[14]: 'Number 0' 
1

爲什麼不截斷?

>>> int(0.6) 
0 
>>> print("Number {0:.0f}".format(int(number))) 
0 
0

截斷與int已被提及。問題是,對於負數,int截斷爲0,而不是負無窮。所以一般來說,最好使用math.floor代替,這也可以使意圖更清楚。請注意0​​將返回一個浮點數。

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