下面打印一个以逗号作为千位分隔符的十进制数字:
num = 123456789
print(f"{num:,}")
123,456,789
根据PEP-378(这里似乎相关?),分隔符可以是逗号,点号,空格,撇号或下划线。 我设法得到一个下划线:
print(f"{num:_}")
123_456_789
但是我如何得到一个点,一个空格,或者对我来说最重要的,一个撇号呢?
简单的方法是将字符串存储在string
这样的变量中,假设您希望使用撇号而不是下划线,
print(string.replace('_',"'"))
执行此操作的“正确”方法是使用locale
模块:
>>> import locale
>>> locale.setlocale(locale.LC_NUMERIC, 'de_CH.utf8')
>>> locale.format_string('%d', 123457890, grouping=True)
"123'457'890"
在本例中,这需要在您的系统上安装瑞士-德语区域设置,但它与所有已安装的区域设置兼容,因此您可以轻松地生成几乎所有在某处使用的格式。