請告訴我如何在Python中整理數字。在Python中整理數字(如1.23到2)
如果我有1.47,如何四捨五入到2? 或者如果我有10.13,如何將它舍入到11?
答案與round(round(1.47, 1))
正確,但有沒有另一種方法來收集這些數字?
請告訴我如何在Python中整理數字。在Python中整理數字(如1.23到2)
如果我有1.47,如何四捨五入到2? 或者如果我有10.13,如何將它舍入到11?
答案與round(round(1.47, 1))
正確,但有沒有另一種方法來收集這些數字?
在math
模塊中有一個函數叫做ceil
。
>>> import math
>>> print math.ceil(1.47)
2.0
如果你想要一個整數,
>>> import math
>>> print int(math.ceil(1.47))
2
謝謝!我懂了。 – user3214767
http://stackoverflow.com/questions/2356501/how-do-you-round-up-a-number-in-python – tinySandy
你想使用math
天花板功能,即ceil
:
import math
print math.ceil(1.47)
將產生2.0
可能的重複https://stackoverflow.com/a/35215406/5827958 – zondo
顯然使用math.ceil
,但這裏有一個有趣的交替ative反正:
>>> [-(-x//1) for x in 1.47, 10.13, 2.0]
[2.0, 11.0, 2.0]
而且更短/滑稽之一:
>>> [0--x//1 for x in 1.47, 10.13, 2.0]
[2.0, 11.0, 2.0]
或者--0-- x//1
,見下面@ MarkDickinson的評論。
應用int(...)
如果你想要一個int
,我會保留這些,因爲它們是爲了展示「浮點數的整數除法」,並讓它看到發生了什麼。
換行結果在int中,似乎是OP想要的 – tinySandy
謝謝,我現在提到它。 –
我喜歡把第二個例子寫成'[--0-- x // 1 for x in 1.47,10.13,2.0]':'--0 - '是「天花板分割運算符」,它將後續改爲上限劃分的地板師。 (是的,在技術上'0 - '的工作原理是一樣的,但' - 0 - '看起來好多了。) –
http://stackoverflow.com/questions/2356501/how-do-you-round-up-a-number-in-python – tinySandy