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)(?=(?:ddd)+$)", ",", subject) >>> result "1,234,567"
法3
>>> import re >>> subject = "1234567" >>> result = re.sub(r"(d)(?=(ddd)+(?!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})((:?,ddd)*)$",r"1,23",s) if count == 0 : break return s print strConv(12345)
以上为个人经验,希望能给大家一个参考,也希望大家多多支持云海天教程。
原文地址:https://blog.csdn.net/guaguastd/article/details/42549267