带有前导零和符号的python格式

时间:2017-10-09 11:29:25

标签: python

我正在尝试使用左前导零和符号格式化浮点数,但无法找到合并运算符的方法:

我需要这个:

-153.3 --> -00000153.30

我正在使用这个表达式:

"{value:0>+{width}.{precision}f}".format(value=float(-153.3), width=12, precision=2)

但是我得到了这个: 00000-153.30

无法找到合适的方式放“+”运算符,有人可以帮忙吗?

谢谢

3 个答案:

答案 0 :(得分:1)

  

-153.3 - > 00000153.30

如果最终的数字字符串应该始终是无符号的,为什么不使用abs()函数:

val=-153.3
print("{value:0>{width}.{precision}f}".format(value=abs(val), width=11, precision=2))

输出:

00000153.30

答案 1 :(得分:1)

>>> a = -153.3
>>> str(a).zfill(10)
'-0000153.3'

如果您想打印正面标志,可能会有一个解决方案:

>>> a = +153.3
>>> '{0:+}'.format(a).zfill(10)
'+0000153.3'

后者也适用于负面迹象。

答案 2 :(得分:1)

知道了!

仔细阅读我应该做的doc

"{value:+0{width}.{precision}f}".format(value=float(-153.3), width=12, precision=2)