使用浮点格式化

时间:2017-02-07 14:27:18

标签: python python-2.7

下面的代码并不完整,但应该知道我在做什么。令人恼火的是,在100.001' 100.001'之后我的桌子没有排队。我想保留相同的数字,所以我可以做些什么来阻止' |'从100.001后坚持出来?

for j in numbers:
        print('{} {} {} {}\n'.format(number, "|", num, "|", etc, etc))     



 #output

      1       | 0.617  | 98.333  |  98.332  | 0.108 | 0.101   | 91.678  |

      2       | 0.617  | 98.332  |  98.332  | 0.101 | 0.101   | 100.001  |

      3       | 0.617  | 0.180   |  98.335  | 0.106 | 98.335  | 93.330  |

      4       | 0.617  | 0.107   |  98.336  | 0.105 | 0.101   | 95.004  |

2 个答案:

答案 0 :(得分:1)

所以你想要格式化输出数字。为此,您可以使用格式化说明符(类似于C printf | sprintf | fprintf函数格式说明符)。

首先,您应该具体说明数字的格式,然后,您的所有输出都将以该特定格式打印。因此,如果您想要对齐' 100.001',我建议您使用格式DDD.ddd(三位数字,带三位小数)。在Python中使用说明符":06.3"如下:

'{:06.3f}'.format(3.141592653589793)

应打印:

003.142

查看完整的参考here

答案 1 :(得分:0)

您可以尝试.ljust(10)获取表格结构。

value = 100.001
number = 3.3457
num = 10.2
etc = 34.1234
for i in range(10):
  print('{} | {} | {} | {}\n'.format(str(value).ljust(10), i, etc, etc))