[英]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
是一個整數。 我怎么做? 我嘗試了int
和round
。
任何人也有關於如何刪除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.