即使它是.00,如何保持2位小数

时间:2013-09-26 01:43:08

标签: python

我一直在为我的一个班级工作,我无法弄清楚即使它是.00

如何舍入到2小数。

我正在打印一张桌子,这看起来很奇怪,这是我的结果:

             1           10000.0             600.0           10600.0
             2           10600.0             636.0           11236.0
             3           11236.0            674.16          11910.16
             4          11910.16            714.61          12624.77
             5          12624.77            757.49          13382.26
             6          13382.26            802.94          14185.19
             7          14185.19            851.11           15036.3
             8           15036.3            902.18          15938.48
             9          15938.48            956.31          16894.79
            10          16894.79           1013.69          17908.48

我打印了一个项目列表,我将其舍入为[0]为1,其余为2 (对不起,有些var是法语XD)

for n in i_liste_l:
    if n == i_liste_l[0]:
        n = int(round(n,0))
        i_liste_l[0] = n
    else:
        index_i = int(i_liste_l.index(n))
        i_liste_l[index_i] = float(round(n,2))
i = i+1

print('{:>{width}}{:>{width}}{:>{width}}{:>{width}}'.format(*i_liste_l,width = indent))

3 个答案:

答案 0 :(得分:4)

出于问题的目的,我填写了一些值:

print('{:>{width}}{:>{width}}{:>{width}}{:>{width}}'.format(1.2, 1, 4.32, 65.3, width=7))
#>>>     1.2      1   4.32   65.3

您需要.Nf格式化程序:

print('{:>{width}.2f}{:>{width}.2f}{:>{width}.2f}{:>{width}.2f}'.format(1.2, 1, 4.32, 65.3, width=7))
#>>>    1.20   1.00   4.32  65.30

答案 1 :(得分:0)

您可以使用:

print('%5.2f' % 1.0)

打印

 1.00 # a space in front, 4 characters for the numbers, total 5

答案 2 :(得分:0)

您需要使用“%。2f”

示例 -

>>> x = 10.0/2
>>> print x
5.0
>>> print "%.2f" % x
5.00
>>> x = 5.0/2
>>> print "%.2f" % x
2.50