Python 打印精度右对齐的浮点

Python 打印精度右对齐的浮点,python,string,printing,floating-point,Python,String,Printing,Floating Point,我对python编程有点生疏,所以请对我放松点。我试图调用字符串属性rjust,并为浮点指定精度。以下是代码和示例输出(注意0.00没有向右对齐): 输出: AXP : American Express Company 55.38 change: -1.15 AXR : Amrep Corp. 6.540 change: 0.00 这显示了如何使用较旧的%格

我对python编程有点生疏,所以请对我放松点。我试图调用字符串属性rjust,并为浮点指定精度。以下是代码和示例输出(注意0.00没有向右对齐):

输出:

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

这显示了如何使用较旧的
%
格式化方法将输出格式化为两个小数点的示例:

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
或者,您可以使用“新的和改进的”功能,该功能将存在一段时间,值得了解。以下内容将生成与上述相同的输出:

print '{:8.2f}  {:8.2f}'.format(v1, v2)
print '{:8.2f}  {:8.2f}'.format(v3, v4)
这两组格式化指令为数字分配8个空格,将其格式化为小数点后有2位的浮点。您必须调整这些值以满足您的需要


我认为,使用这种方法格式化输出会更容易,因为
.format()
可以让您对输出有很大的控制权(包括证明、填充、精度)。

没关系,我在发布我的问题后就发现了这一点

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)
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)