python货币格式化方法

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

结果:

1,234.45

很简单吧。。。

  • 初学者学习python2还是python3?
  • python获取本机IP、mac地址、计算机名
  • 详解python2 和 python3的区别
  • python基础之删除文件及删除目录的方法
  • 用python求第1000个质数的值
  • python常用函数年初大总结
  • Python3 - 时间处理与定时任务
  • Python开发的CMS系统,Silva CMS 3 发布
  • python基础之使用os.system来执行系统命令
  • 判断python字典中key是否存在的两种方法
  • 初学者学习python2还是python3?
  • python基础之删除文件及删除目录的方法
  • python获取本机IP、mac地址、计算机名
  • python获取系统时间(时间函数详解)
  • 详解python2 和 python3的区别
  • 用python求第1000个质数的值
  • Python3 - 时间处理与定时任务
  • 命令行看糗百
  • Python算法之---冒泡,选择,插入排序算法
  • python 中求和函数 sum详解
  • range方法在Python2和Python3中的不同
  • python3 数组(列表)初始化
  • 记一次crontab中date命令错用导致的问题
  • MySQL用LIKE特殊字符搜索
  • CentOS 7 下修改主机名
  • Python3正则表达式之:(?(id/name)y...
  • TIOBE编程语言排行榜2019年 Python稳居前三
  • 解压命令unzip常用方法汇总
  • 解析redis备份文件rdb的两种方法及对比
  • 百度视觉语义化平台2.0:交互升级和...
  • 5G时代的视觉语义化技术:软硬结合...
  • 百度AutoDL重磅升级至3.0:设计、迁...