繁体   English   中英

如何使用Python将点放入数字中?

[英]How to place dots into the number with Python?

如何从右开始以3位数字分隔点来自动放置点?

例:

in: 1234; out 1.234
in: 12345678; out 12.345.678

您正在寻找千位分隔符。 使用format()函数格式化数字,以逗号作为千位分隔符,然后用点替换逗号:

>>> format(1234, ',').replace(',', '.') 
'1.234'
>>> format(12345678, ',').replace(',', '.') 
'12.345.678'

此处的','格式表示十进制数字应使用千位分隔符进行格式化(请参见格式说明最小语言 )。

可以使用str.format()方法以更宽的字符串格式实现相同的str.format() ,其中模板中的占位符将替换为值:

>>> 'Some label for the value: {:,}'.format(1234).replace(',', '.')
'Some label for the value: 1,234'

但是您也可能会意外替换输出字符串中的其他句号!

您的另一个选择是使用与语言环境相关的'n'格式,但这要求您的计算机配置为设置正确的LC_NUMERIC选项的语言环境。

这是一个简单的解决方案:

>>> a = 12345678
>>> "{:,}".format(a)
'12,345,678'
>>> "{:,}".format(a).replace(",", ".")
'12.345.678'
>>>

它使用字符串的.format方法添加逗号分隔符,然后使用.replace方法将那些逗号更改为句点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM