Car*_*bet 52 python format locale number-formatting digit-separator
我如何格式化1000000要1.000.000在Python?在哪里'.' 是十进制标记千位分隔符.
Mik*_*kel 104
如果要添加千位分隔符,可以编写:
>>> '{0:,}'.format(1000000)
'1,000,000'
Run Code Online (Sandbox Code Playgroud)
但它只适用于Python 2.7及更高版本.
见格式字符串语法.
在旧版本中,您可以使用locale.format():
>>> import locale
>>> locale.setlocale(locale.LC_ALL, '')
'en_AU.utf8'
>>> locale.format('%d', 1000000, 1)
'1,000,000'
Run Code Online (Sandbox Code Playgroud)
使用的额外好处locale.format()是它将使用您的语言环境的千位分隔符,例如
>>> import locale
>>> locale.setlocale(locale.LC_ALL, 'de_DE.utf-8')
'de_DE.utf-8'
>>> locale.format('%d', 1000000, 1)
'1.000.000'
Run Code Online (Sandbox Code Playgroud)
utd*_*mir 17
我真的不明白; 但这是我理解的:
您要将1123000转换为1,123,000.你可以使用格式来做到这一点:
例:
>>> format(1123000,',d')
'1,123,000'
Run Code Online (Sandbox Code Playgroud)
jpi*_*ihl 13
只是在这里扩展答案:)
我需要都有千分之一的分隔符并限制浮点数的精度.
这可以通过使用以下格式字符串来实现:
> my_float = 123456789.123456789
> "{:0,.2f}".format(my_float)
'123,456,789.12'
Run Code Online (Sandbox Code Playgroud)
这描述了format()-specifier的迷你语言:
[[fill]align][sign][#][0][width][,][.precision][type]
Run Code Online (Sandbox Code Playgroud)
资料来源:https://www.python.org/dev/peps/pep-0378/#current-version-of-the-mini-language
一个主意
def itanum(x):
return format(x,',d').replace(",",".")
>>> itanum(1000)
'1.000'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
45851 次 |
| 最近记录: |