首页 > 解决方案 > Python打印具有给定位数的浮点数

问题描述

我在 Python 中有一些浮点值。我想打印它们以使它们具有相同的位数(整数和小数部分的总和)

例如考虑这两个数字:

a = 12.123456
b = 123.1234567

我想打印它们的值,格式如下:

12.1234
123.123

使它们具有相同的长度。

一种简单的方法如下:

if (val>100):
    print("%0.3f" % val)
else:
    print("%0.4f" % val)

有没有更聪明的方法可以在 python 中同时控制整数和小数位数,以使生成的字符串保持不变?

标签: python-3.xprintingfloating-pointformatting

解决方案


整数和小数的格式化方法是

>>> '{:06.2f}'.format(3.141592653589793)
'003.14'

.(这里)前面的部分6表示填充的总长度(包括.),.(2f这里)后面的部分表示小数点后的数字。希望能帮助到你。签出链接


推荐阅读