2012-07-15 18 views
8

私はPythonでプログラミングするには若干のnewbです。私は文字列属性rjustを呼び出して、浮動小数点の精度も指定しようとしています。ここでは、コードおよび出力例(0.00点に注意してください右に正当化されていません)です。正確に正当な精度で浮動小数点数を表示する

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

OUTPUT:これは、2つの小数点を使用して、あなたの出力をフォーマットする方法の例を示し

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

おかげリヴォンを気にしません! – siesta

答えて

16

古い%フォーマット方法:

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) 

対応する出力:

55.39  -1.15 
    6.54  0.00 

また、あなたはしばらくの間、前後になると知ってもらう価値があるだろう「新しい改良」.format()機能を使用することができます。以下は、上記と同じ出力を生成する:フォーマットディレクティブの

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

両方のセットは、小数点以下2桁のフロートとして、電話番号のフォーマットを8つのスペースを割り当てます。あなたのニーズに合わせてこれらの値を調整する必要があります。あなたの出力は.format()はあなたに出力(税込。正当化、充填、精度)を制御の多くを与えるので、私が思うより簡単になりますフォーマットするためにこのアプローチを使用

0

は...私は右のコースの私の質問を投稿した後にこれを考え出し、

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) 
関連する問題