如何通过从右边开始的组中将3个数字分开来自动放置点?
示例:
in: 1234; out 1.234
in: 12345678; out 12.345.678
答案 0 :(得分:9)
您正在寻找千位分隔符。使用format()
function格式化您的号码,使用逗号作为千位分隔符,然后用点替换逗号:
>>> 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
选项的区域设置配置您的计算机。
答案 1 :(得分:5)