2011-12-22 5 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

私は条件文を使って探していたものと全く同じですが、年齢の前後では一重引用符ではなく、一重引用符で誤字があります。ありがとう! – mike

+1

'-1 Amadan

+1

そのような場合に彼が望むものは指定されていません。-.01は私の意見では賢明な答えとは思われません –

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

注: '0 Amadan

+0

年齢が1歳を超えると壊れます。 –

+0

おそらく、彼は余分な「0」の問題がないでしょう年齢> 1 ... – BenH

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

同様age > 1.0ための作品。

+0

質問は実際には年齢が常に肯定的であるとは言わないので、 -1 <年齢<0である。その後、再びそうではないかもしれません。 – Duncan

+0

年齢が0の場合は、それは奇妙な答えを与えるだろう –

関連する問題