python货币格式化功能实例
内容摘要
这篇文章主要为大家详细介绍了python货币格式化功能实例,具有一定的参考价值,可以用来参考一下。
对python这个高级语言对此感兴趣的朋友,看看idc笔记做的技术笔记!
python开发
对python这个高级语言对此感兴趣的朋友,看看idc笔记做的技术笔记!
python开发
文章正文
这篇文章主要为大家详细介绍了python货币格式化功能实例,具有一定的参考价值,可以用来参考一下。
对python这个高级语言对此感兴趣的朋友,看看idc笔记做的技术笔记!python开发中时长到货币格式化的问题,一般情况下可以使用locale模块。但是这个模块使用起来不是那么顺手,今天我为大家介绍一个很好用的方法。
直接上代码。。。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | <code class = "as3" > from decimal import * def moneyfmt(value, places=2, curr= '' , sep= ',' , dp= '.' ,pos= '' , neg= '-' , trailneg= '' ): "" "Convert Decimal to a money formatted string. places: required number of places after the decimal point curr: optional currency symbol before the sign (may be blank) sep: optional grouping separator (comma, period, space, or blank) dp: decimal point indicator (comma or period) only specify as blank when places is zero pos: optional sign for positive numbers: '+' , space or blank neg: optional sign for negative numbers: '-' , '(' , space or blank trailneg:optional trailing minus indicator: '-' , ')' , space or blank >>> d = Decimal( '-1234567.8901' ) >>> moneyfmt(d, curr= '$' ) '-$1,234,567.89' >>> moneyfmt(d, places=0, sep= '.' , dp= '' , neg= '' , trailneg= '-' ) '1.234.568-' >>> moneyfmt(d, curr= '$' , neg= '(' , trailneg= ')' ) '($1,234,567.89)' >>> moneyfmt(Decimal(123456789), sep= ' ' ) '123 456 789.00' >>> moneyfmt(Decimal( '-0.02' ), neg= '<' , trailneg= '>' ) '<0.02>' "" " value = Decimal(value) q = Decimal(10) ** -places # 2 places --> '0.01' sign, digits, exp = value.quantize(q).as_tuple() result = [] digits = map(str, digits) build, next = result.append, digits.pop if sign: build(trailneg) for i in range(places): build(next() if digits else '0' ) build(dp) if not digits: build( '0' ) i = 0 while digits: build(next()) i += 1 if i == 3 and digits: i = 0 build(sep) build(curr) build(neg if sign else pos) return '' .join(reversed(result)) print moneyfmt( '1234.45' ,sep= ',' , dp= '.' ) # End www_512pic_com </code> |
结果:
1,234.45
很简单吧。。。
注:关于python货币格式化功能实例的内容就先介绍到这里,更多相关文章的可以留意
代码注释