2011-12-22 17 views
1

我想使用一個十進制的字符串,但我得到一個不想要的「0」。例如:在python中使用小數點的字符串

age = .01 
print 'test%s'%(age) 
print 'test' + str(age) 

這些都返回 'test0.01',但我想 'test.01'。我知道有一個簡單的解決方案。有什麼想法嗎?

回答

2
age = .01 
print 'test%s' % str(age)[1:] if 0<age<1 else str(age) 
+0

準確地說,我一直在尋找(有條件的陳述),儘管你的確有一個單引號的錯字,而不是一個年齡左右的paren。謝謝! – mike 2011-12-22 15:52:54

+1

對於'x'失敗,因此'-1 Amadan 2011-12-22 15:53:31

+1

沒有指定他在這些情況下需要的是什麼-.01在我看來似乎不是一個明智的答案 – 2011-12-22 17:19:18

0
age = .01 
print 'test' + (str(age)[1:] if 0 < age < 1 else str(age)) 
+0

注意:'0 Amadan 2011-12-22 15:51:32

+0

這將打破年齡> 1。 – 2011-12-22 15:52:09

+0

大概他沒有一個額外的'0'的問題如果年齡> 1 ... – BenH 2011-12-22 15:55:07

6
age = .01 
print 'test' + str(age).lstrip('0') 

Works的age > 1.0爲好。

+0

這個問題實際上並不說明年齡總是正面的,所以它可能很重要, -1 <年齡<0。然後它可能不會。 – Duncan 2011-12-22 15:57:26

+0

如果年齡= 0,那會給出奇怪的答案 – 2011-12-27 12:59:56

相關問題