3
我知道在大的整数理论上的数字可以通过数千更好的可读性进行分组:如何设置自定义千位分隔符?
Python 3.5.2 (default, Nov 17 2016, 17:05:23)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import locale
>>> locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')
'en_US.UTF-8'
>>> locale.format('%d', 1234567890, grouping=True)
'1,234,567,890'
>>> "{:n}".format(1234567890)
'1,234,567,890'
然而,出人意料的是,这会不会对各个地区的工作:
>>> locale.setlocale(locale.LC_ALL, 'pl_PL.UTF-8')
'pl_PL.UTF-8'
>>> locale.format('%d', 1234567890, grouping=True)
'1234567890'
>>> "{:n}".format(1234567890)
'1234567890'
为什么不数格式化?我觉得这很奇怪。我期望打印1 234 567 890
之类的内容。
根据Format Specification Mini-Language,我们可以明确强制执行两个可能的分隔符:逗号,
和下划线_
。可悲的是,逗号不适用于波兰语,因为它在那里被用作小数点分隔符,对于大多数人来说,像1_234_567_890
这样的数字看起来很奇怪。
我们可以以某种方式强制一个不间断空间被用作千位分隔符吗?
解决方法:''1_234_567_890“.replace(”_“,'。')'给你想要的东西 – inspectorG4dget
'locale.currency(var,symbol = False,grouping = True)',因为'pl_PL'确实包含货币价值的分隔符。 – TemporalWolf
[如何使用逗号作为千位分隔符来打印数字?]可能的重复(http://stackoverflow.com/questions/1823058/how-to-print-number-with-commas-as-thousands-separators) – Prune