Python打印一个具有给定位数的浮点数

时间:2018-06-08 08:49:21

标签: python-3.x printing floating-point formatting

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

例如考虑两个数字:

a = 12.123456
b = 123.1234567

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

12.1234
123.123

这样他们的长度相同。

一个简单的方法如下:

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

有没有更聪明的方法在python中同时控制整数和十进制数字的数量,以便生成的字符串是常量?

3 个答案:

答案 0 :(得分:1)

您可以尝试做类似的事情

print('{:.6}'.format(val))

答案 1 :(得分:1)

好吧,我考虑了这个基本上可以解决的解决方案:

LIM = 7;
a = 12.123456
b = 123.1234567
print(str(a)[:LIM])
print(str(b)[:LIM])

答案 2 :(得分:0)

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

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

.之前的部分(此处为6)表示填充的总长度(包括.),以及.之后(2f这里)表示小数点后的数字。 希望能帮助到你。结帐link