簡體   English   中英

Python如何去除小數點?

[英]Python how to remove decimal?

我在這方面找到了一些其他主題,但我無法讓它發揮作用。 請原諒我對 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是一個整數。 我怎么做? 我嘗試了intround

任何人也有關於如何刪除x和“.”之間的“空格”的想法。 最后什么時候執行代碼?

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

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

int 和 round 將表現出不同的行為,如果小數點后有 >= 5 的任何內容,則int將向下取整,但 round 將向上取整,如果您想實際使用 round,您可能希望將兩者結合起來:

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

round()函數不能就地改變x變量,因為數字是不可變的。 相反,將返回舍入結果,您的代碼將忽略該結果。

將結果存儲回x

x = round(x)

這將為您提供一個四舍五入到最接近的整數的浮點數。

可替代地,使用x = int(x)它給你的整數,但該樓層數(無論去除小數部分,如果它更接近下一個整數或沒有)。

對於僅刪除整數的小數部分(例如- 45.55 到 45),您可以嘗試將trunc()方法與數學庫一起使用,就像這樣-

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

輸出將為- 45,trunc() 方法不會將整數四舍五入到最接近的整數,它只是截斷小數部分。

或者,如果您想四舍五入,則可以使用round()方法。

Python 中有兩個函數,它們提供兩種不同的結果:

some_float = 10.7
print(int(some_float)) 
print(round(some_float)) 

[output]10
[output]11

那么,如果你想要“.” 但是不想在數字后面有零,您可以通過以下方式輕松打印出來:

print(str(round(some_float))+".")
[output]11.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM