如何将我的浮点数更改为两位十进制数字,并使用逗号作为python中的小数点分隔符?

Hob*_*use 17 python floating-point decimal

我有一个浮动:1.2333333

如何将逗号作为小数点分隔符更改为两位十进制数,例如1,23?

Aar*_*lla 15

要获得两位小数,请使用

'%.2f' % 1.2333333
Run Code Online (Sandbox Code Playgroud)

要获得逗号,请使用replace():

('%.2f' % 1.2333333).replace('.', ',')
Run Code Online (Sandbox Code Playgroud)

第二种选择是将语言环境更改为使用逗号的某个地方,然后使用locale.format():

locale.setlocale(locale.LC_ALL, 'FR')
locale.format('%.2f', 1.2333333)
Run Code Online (Sandbox Code Playgroud)

  • 这是绝对错误的。普通的“%f”字符串格式化程序不依赖于语言环境。 (2认同)

u0b*_*6ae 8

区域设置模块,可以帮助你在语言环境的格式阅读和写作的数字.

>>> import locale
>>> locale.setlocale(locale.LC_ALL, "")
'sv_SE.UTF-8'
>>> locale.format("%f", 2.2)
'2,200000'
>>> locale.format("%g", 2.2)
'2,2'
>>> locale.atof("3,1415926")
3.1415926000000001
Run Code Online (Sandbox Code Playgroud)