python 货币格式_python货币格式化功能实例

这篇文章主要为大家详细介绍了python货币格式化功能实例,具有一定的参考价值,可以用来参考一下。

对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧!

python开发中时长到货币格式化的问题,一般情况下可以使用locale模块。但是这个模块使用起来不是那么顺手,今天我为大家介绍一个很好用的方法。

直接上代码。。。

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='')

'<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

结果:

1,234.45

很简单吧。。。

注:关于python货币格式化功能实例的内容就先介绍到这里,更多相关文章的可以留意512笔记的其他信息。

关键词:货币

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值