2012-12-11 52 views

回答

3

什麼都不做:

>>> 1.00 
1.0 
>>> 1.0 
1.0 
>>> 1.4560 
1.456 
>>> 1.45600000 
1.456 
>>> 1.40 
1.4 
+0

+1這讓我很快樂。 – squiguy

+0

>>>浮動(1.55000) 1.3999999999999999 >>>浮動(1.41000000) 1.4099999999999999 這個怎麼 – Adobri

+0

@Adobri:如果您在Python版本的限制,這將是棘手的。在3.3或2.7中,這應該是固定的。 – Kabie

2

因爲Kabie建議假設其爲浮點數或小數點,所以不做任何事情。 如果它是一個字符串,請使用rstrip()

print '1.4000'.rstrip('0') # '1.4' 

編輯: 正如指出的那樣,這會爲'1.0'失敗。可能的解決辦法:

num = '42.00' 
normalized = num.strip('0')+'0' if num.rstrip('0')[-1] == '.' else num.strip('0') 
print normalized # 42.0 
+0

+1,我認爲Adobri意味着數字是字符串類型 –

+0

將失敗'1.0' – Kabie

+0

同意。添加一個可能的修補程序 – Kartik

1

您可以使用format strings

'{:g}'.format(float(string)) 

或者作爲@kabie建議使用:

str(float(Num)) 
+1

'str(float(Num))'會更簡單 – Kabie

+0

@Kabie:awesome – Adobri