2015-09-19 77 views
1

我發現了一些其他的話題,但我無法讓它工作。請記住,這是我第一天學習Python。Python如何去除小數?

Berekening1 = 8.5 
Berekening2 = 8.1+4.8 
Berekening3 = 8*10 
Berekening4 = 3 
x = Berekening1 * Berekening2 * Berekening3 + Berekening4 
print "Het antwoord van de berekening is:", 
round(x); print x, 
print "." 

我希望x是一個整數。我怎麼做?我嘗試了整數和整數。

任何人都有一個關於如何去除「x」和「。」之間的「空間」的想法。在代碼執行結束時?

+1

'x = int(x)'可以是或者'x = round(x)' –

+0

歡迎來到SO。由於SO上的通用語言是英文,因此最好將變量名稱和可打印文本翻譯爲英文。這導致更多的人比荷蘭人和佛蘭芒人能夠理解你的代碼更多。 – Adriaan

+0

我得到它現在這樣工作 print int(x), – Robo

回答

2

round()函數不能更改x變量,因爲數字是不可變的。相反,返回的是舍入結果,代碼會忽略它。

商店的結果早在x

x = round(x) 

這會給你四捨五入到最接近的整數浮點數。

或者,使用x = int(x),它給你一個整數,但樓層該數字(刪除小數部分,無論它是否接近下一個整數或不)。

+0

@PadraicCunningham:是的,我在我的答案中聲明。 –

+0

是的,對不起,錯過了 –

+0

輪會x時說8.5,輪到8. 8和9都是最接近的整數在這種情況下。所以round對於floor有偏見,而不是對ceiling的偏見,因爲小數部分恰好是.5 – LetzerWille

5

您將需要重新分配x到的x = int(x)值,或者您也可以使用str.format如果你只是想輸出格式:

print "Het antwoord van de berekening is: {:.0f}.".format(x) 

int和輪將表現出不同的行爲,如果你有什麼> = 5小數點後則int意志地板,但輪將全面上漲,如果要真正使用圓您可能希望將二者結合起來:

In [7]: x = round(1.5) 

In [8]: x 
Out[8]: 2.0 

In [9]: int(x) 
Out[9]: 2 

再或者結合了str.format

In [10]: print "Het antwoord van de berekening is: {:.0f}".format(round(1.5)) 
Het antwoord van de berekening is: 2 
0

對於剛剛取出一個整數(EG-45.55〜45)的小數部分,你可以嘗試使用trunc()方法與數學函數庫,就像這 -

import math 
i=45.55 
i=math.trunc(i) 
print(i) 

輸出爲─45, trunc()方法不會將整數舍入到最接近的整數,它只是切斷小數部分。

或者如果你想四捨五入,那麼你可以使用round()方法。