Python 对数字的千分位处理方式
作者:guaguastd
这篇文章主要介绍了Python 对数字的千分位处理方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
对数字的千分位处理
法1
>>> "{:,}".format(56381779049)
'56,381,779,049'
>>> "{:,}".format(56381779049.1)
'56,381,779,049.1'
>>>法2
>>> import re >>> subject = '1234567' >>> result = re.sub(r"(?<=\d)(?=(?:\d\d\d)+$)", ",", subject) >>> result '1,234,567'
法3
>>> import re >>> subject = '1234567' >>> result = re.sub(r"(\d)(?=(\d\d\d)+(?!\d))", r"\1,", subject) >>> result '1,234,567'
格式化千分位数字
2.7版本以上直接用format设置千分位分隔符
Python 2.7 (r27:82500, Nov 23 2010, 18:07:12) [GCC 4.1.2 20070115 (prerelease) (SUSE Linux)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> format(1234567890,',') '1,234,567,890' >>>
正则实现
import re
def strConv(s):
s = str(s)
while True:
(s,count) = re.subn(r"(\d)(\d{3})((:?,\d\d\d)*)$",r"\1,\2\3",s)
if count == 0 : break
return s
print strConv(12345)以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
