如何通过从右侧开始的组中用 3 位数字分隔点来自动放置点?
例子:
in: 1234; out 1.234
in: 12345678; out 12.345.678
如何通过从右侧开始的组中用 3 位数字分隔点来自动放置点?
例子:
in: 1234; out 1.234
in: 12345678; out 12.345.678
您正在寻找千位分隔符。使用逗号作为千位分隔符的format()
函数格式化您的数字,然后用点替换逗号:
>>> format(1234, ',').replace(',', '.')
'1.234'
>>> format(12345678, ',').replace(',', '.')
'12.345.678'
这里的','
格式表示十进制数应该使用千位分隔符进行格式化(请参阅Format Specification Mini-language)。
使用该方法可以在更广泛的字符串格式中实现相同的目的str.format()
,其中模板中的占位符被替换为值:
>>> 'Some label for the value: {:,}'.format(1234).replace(',', '.')
'Some label for the value: 1,234'
但是你也会冒着意外替换输出字符串中其他句号的风险!
您的另一个选择是使用依赖于区域设置的'n'
格式,但这需要为您的机器配置一个设置正确LC_NUMERIC
选项的区域设置。