如何在Python中使用指定数量的小数和特定于语言环境的分隔符打印浮点?
我正在编写一个应用程序,它需要处理浮点数的固定小数位数,这对于如何在Python中使用指定数量的小数和特定于语言环境的分隔符打印浮点?,python,localization,number-formatting,Python,Localization,Number Formatting,我正在编写一个应用程序,它需要处理浮点数的固定小数位数,这对于f表示类型来说非常简单 >>> f'{1.1:.2f}' '1.10' 我还需要数字分隔符来识别区域设置,就像使用n表示类型一样,但是n使用与g相同的逻辑来处理精度,因此我最终会丢失尾随的零(我需要这个) 更糟糕的是,“n”移到e并丢失较大值的数字,而f保持正常运行: >>> f'{1234.:.2n}' '1,2e+03' >>> f'{1234.:.2f}' '1234.00
f
表示类型来说非常简单
>>> f'{1.1:.2f}'
'1.10'
我还需要数字分隔符来识别区域设置,就像使用n
表示类型一样,但是n
使用与g
相同的逻辑来处理精度,因此我最终会丢失尾随的零(我需要这个)
更糟糕的是,“n”移到e
并丢失较大值的数字,而f
保持正常运行:
>>> f'{1234.:.2n}'
'1,2e+03'
>>> f'{1234.:.2f}'
'1234.00'
是否可以像
f
那样处理数字,但不必编写自己的格式化函数就可以使用n
的区域设置感知功能?您是否特别询问?不是特定于货币(我会使用十进制)。我需要25位小数,但为了清晰起见,我在示例中使用了2位。这是否回答了您的问题?与此类似,但对千和十进制分隔符使用区域设置感知。我需要的不是1234.0000,而是1234.000,这是否回答了你的问题?
>>> f'{1234.:.2n}'
'1,2e+03'
>>> f'{1234.:.2f}'
'1234.00'