使用区域设置的Python3和舍入数字表示

我想使用在我的语言环境中定义的分隔符(通常是在我的国家的空格)显示四舍五入的数字。 我正在使用Python 3.7,并阅读format specification上的文档。

设置好语言环境后,我就开始玩数字游戏,但是当我使用'n'类型说明符(它是用来包含分隔符的那个)并尝试对这个数字取整时,我的问题就开始了。 / p>

让我们举个例子:

>>> import locale
>>> nb=3215.51
>>> print('{:n}'.format(nb))
3215.51

现在,我定义我的语言环境并再次打印我的号码

>>> import locale
>>> locale.setlocale(locale.LC_ALL,'fr_FR.utf-8')
'fr_FR.utf-8'
>>> print('{:n}'.format(nb))
3 215,51

太好了,我的空格分隔符在那里。 现在,我想将这个数字四舍五入为0,就像使用'f'类型说明符一样:

>>> print('{:.0f}'.format(nb))
3216
>>> print('{:.0n}'.format(nb))
3e+03

这种科学表示是一个错误还是我错过了文档中的某些内容?

tmp741852 回答:使用区域设置的Python3和舍入数字表示

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3097370.html

大家都在问