2016-07-23 78 views
-2

給定一個介於0和1之間的實數(例如0.2836),我只想返回沒有圓點的編號(例如在這種情況下,從0.2836 - > 2836或02836)。我試圖用python來做到這一點,但我剛開始,我需要一些幫助。刪除python中的編號

+2

顯示你的嘗試。 (你的意思是*期*,而不是逗號) – Idos

+0

我還沒有嘗試過任何東西,因爲我不知道從哪裏開始 – Peterix

+2

'str(number).replace('。','')' –

回答

4

只要你有一個數字,下面應該做的:

>>> number = 0.2836 
>>> int(str(number).replace('.', '')) 
2836 

如果.沒有在字符串中發現,str.replace剛剛返回原始字符串。

隨着更多的數字:

>>> int(str(1).replace('.', '')) 
1 
>>> int(str(1.2).replace('.', '')) 
12 
+0

據我所見,該命令可以在逗號後使用小於12位數的數字,是一種有更多數字返回的方法? – Peterix

+0

@Peterix [浮點算術:問題與侷限](https://docs.python.org/3/tutorial/floatingpoint.html#floating-point-arithmetic-issues-and-limitations) –

0

由條與空字符串調用其.replace方法作爲第二個參數,以除去不想要的字符的最簡單方法:

x = str(123.45) 
x = x.replace('.','') 
print(x)     # Prints 12345 

筆記,這將留下任何前導零(即使用此方法的0.123將導致0123

如果您知道那裏總是,說,4個數字的小數點後(在的情況下,有少,你想尾隨零),你可以通過適當的因素首先乘人數:

x = 123.4567 
x *= 10000 
x = str(int(x))   # Convert float to integer first, then to string 
print(x)     # Prints 1234567 

還有其他的選擇,但這可能會使您指向正確的方向。