2012-07-15 19 views
8

Python ile programlama yapmak için biraz yeniim, bu yüzden lütfen bana kolaylık sağlayın. String özniteliğini rjust olarak çağırmaya çalışıyorum ve ayrıca kayan nokta için kesinliği belirtiyorum. İşte kod ve örnek çıkışı (0,00 not sağa haklı değildir) var:Sağa sola doğru bir şamandıra yazdırın

print '%s: %s %s \tchange: %.2f' % (Instance1.symbol.ljust(5), 
    Instance1.name.ljust(50), Instance1.buyprices.rjust(10), Instance1.val) 

ÇIKIŞ: Bu iki ondalık noktaları kullanarak çıkış biçimi nasıl bir örnek göstermektedir

AXP : American Express Company       55.38 change: -1.15 
AXR : Amrep Corp.          6.540 change: 0.00 
+0

Teşekkür Levon'u Aldırma !!! – siesta

cevap

16

büyük % biçimlendirme yöntemi:

v1 = 55.39 
v2 = -1.15 
v3 = 6.54 
v4 = 0.00 

print '%8.2f %8.2f' % (v1, v2) 
print '%8.2f %8.2f' % (v3, v4) 

ilgili bir çıkış:

55.39  -1.15 
    6.54  0.00 

Alternatif olarak, bir süredir olacağınız "yeni ve gelişmiş" .format() işlevini kullanabilirsiniz ve öğrenmeye değer. Aşağıdaki Yukarıdaki aynı çıktıyı oluşturur: biçimlendirme yönergelerinin

print '{:8.2f} {:8.2f}'.format(v1, v2) 
print '{:8.2f} {:8.2f}'.format(v3, v4) 

Her iki takım ondalık noktadan sonra 2 hane ile bir float olarak, Numaranı biçimini bunu 8 boşluk tahsis. Bu değerleri ihtiyaçlarınızı karşılayacak şekilde ayarlamanız gerekir. .format() size çıkış üzerinde kontrol (KDV. Haklı çıkaran, dolgu, hassas) bir sürü verecek beri olacak çıkışını biçimlendirmek için bu yaklaşımı kullanarak

kolay sanırım.

0

... Birazdan tabii sorumu yazdıktan sonra bu anladım,

changed to this: 
    def change_value(self, sym, buy, sell): 
     self.sym = sym 
     temp = float(buy) - float(sell) 
     self.val = "%.2f" % temp 




and then called str(Instance1.val).rjust(10)