如何在不使用语言环境的情况下在 python 2.7 中将十进制数 123456.789 格式化为 123.456,78?
千位分隔符应该是 DOT 而不是 COMMA,小数分隔符应该是 COMMA 而不是 DOT。
有什么快速转换的方法吗?
如何在不使用语言环境的情况下在 python 2.7 中将十进制数 123456.789 格式化为 123.456,78?
千位分隔符应该是 DOT 而不是 COMMA,小数分隔符应该是 COMMA 而不是 DOT。
有什么快速转换的方法吗?
如果您真的非常想避免,locale
那么您可以使用从返回的值format(val, ',')
,然后交换,
and .
:
>>> a = 1234567.89
>>> from string import maketrans
>>> trans = maketrans('.,', ',.')
>>> format(a, ',.2f').translate(trans)
'1.234.567,89'
一种方法是更改您的locale
:
>>> import locale
>>> locale.setlocale(locale.LC_ALL, 'deu_DEU')
'German_Germany.1252'
>>> "{0:n}".format(12345.67)
'12.345,7'
>>> locale.setlocale(locale.LC_ALL, '')
'English_United Kingdom.1252'
>>> "{0:n}".format(12345.67)
'12,345.7'
>>>