【发布时间】:2010-12-15 15:24:51
【问题描述】:
format specification 中是否有一个选项可以将零值显示为空白,否则使用格式?
>>> from decimal import Decimal
>>> '{:+010,.2f}'.format(Decimal('1234.56'))
'+01,234.56'
>>> '{:???f}'.format(Decimal(0))
''
>>>
更新:
我需要和这里一样的行为:
http://msdn.microsoft.com/en-us/library/0c899ak8.aspx#SectionSeparator
如果 Python 在标准库中没有它,请确认,我会接受它作为答案。
【问题讨论】:
-
这里是.NET stackoverflow.com/questions/2282573/…的类似问题
-
很抱歉,您显然不能有一种格式既可以打印前导零、两位小数和最小 10 宽,又可以同时为空。使用上述格式正确打印零会给出“+00,000.00”。因此,无论您做什么,都必须以是否为零为条件。在这种情况下,您可以跳过它。所以下面所有的答案都是正确的。
-
也许我不清楚 - 我需要一个格式化程序选项。在 .NET 问题链接中是可能的。
标签: python python-3.x string-formatting