繁体   English   中英

在python2.7中使用DOT作为千位分隔符

[英]Using DOT as thousand separator in python2.7

如何在不使用语言环境的情况下在python 2.7中将十进制数字123456.789格式化为123.456,78?

千位分隔符应为DOT而不是COMMA,而十进制分隔符应为COMMA而不是DOT。

有什么快速的方法可以转换它吗?

如果你真的想避免locale ,那么你可以从返回的值工作format(val, ',')然后交换,.

>>> 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'
>>>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM