代码如下:

def Num2MoneyFormat( change_number ):

“””

.转换数字为大写货币格式( format_word.__len__() – 3 + 2位小数 )

change_number 支持 float, int, long, string

“””

format_word = [“分”, “角”, “元”,

“拾”,”百”,”千”,”万”,

“拾”,”百”,”千”,”亿”,

“拾”,”百”,”千”,”万”,

“拾”,”百”,”千”,”兆”]

format_num = [“零”,”壹”,”贰”,”叁”,”肆”,”伍”,”陆”,”柒”,”捌”,”玖”]

if type( change_number ) == str:

# – 如果是字符串,先尝试转换成float或int.

if ‘.’ in change_number:

try: change_number = float( change_number )

except: raise ValueError, ‘%s can\’t change’%change_number

else:

try: change_number = int( change_number )

except: raise ValueError, ‘%s can\’t change’%change_number

if type( change_number ) == float:

real_numbers = []

for i in range( len( format_word ) – 3, -3, -1 ):

if change_number = 10 ** i or i 1:

real_numbers.append( int( round( change_number/( 10**i ), 2)%10 ) )

elif isinstance( change_number, (int, long) ):

real_numbers = [ int( i ) for i in str( change_number ) + ’00’ ]

else:

raise ValueError, ‘%s can\’t change’%change_number

zflag = 0 #标记连续0次数,以删除万字,或适时插入零字

start = len(real_numbers) – 3

change_words = []

for i in range(start, -3, -1): #使i对应实际位数,负数为角分

if 0 real_numbers[start-i] or len(change_words) == 0:

if zflag:

change_words.append(format_num[0])

zflag = 0

change_words.append( format_num[ real_numbers[ start – i ] ] )

change_words.append(format_word[i+2])

elif 0 == i or (0 == i%4 and zflag 3): #控制 万/元

change_words.append(format_word[i+2])

zflag = 0

else:

zflag += 1

if change_words[-1] not in ( format_word[0], format_word[1]):

# – 最后两位非”角,分”则补”整”

change_words.append(“整”)

return ”.join(change_words)

Python 把金额小写转换成大写2

功能将小于十万亿元的小写金额转换为大写

代码如下:

def IIf( b, s1, s2):

if b:

return s1

else:

return s2

def num2chn(nin=None):

cs =

(‘零’,’壹’,’贰’,’叁’,’肆’,’伍’,’陆’,’柒’,’捌’,’玖’,’◇’,’分’,’角’,’圆’,’拾’,’佰’,’仟’,

‘万’,’拾’,’佰’,’仟’,’亿’,’拾’,’佰’,’仟’,’万’)

st = ”; st1=”

s = ‘%0.2f’ % (nin)

sln =len(s)

if sln ; 15: return None

fg = (nin1)

for i in range(0, sln-3):

ns = ord(s[sln-i-4]) – ord(‘0’)

st=IIf((ns==0)and(fg or (i==8)or(i==4)or(i==0)), ”, cs[ns])

+ IIf((ns==0)and((i;8)and(i;4)and(i;0)or fg

and(i==0)),”, cs[i+13])

+ st

fg = (ns==0)

fg = False

for i in [1,2]:

ns = ord(s[sln-i]) – ord(‘0’)

st1 = IIf((ns==0)and((i==1)or(i==2)and(fg or (nin1))), ”, cs[ns])

+ IIf((ns;0), cs[i+10], IIf((i==2) or fg, ”, ‘整’))

+ st1

fg = (ns==0)

st.replace(‘亿万’,’万’)

return IIf( nin==0, ‘零’, st + st1)

if __name__ == ‘__main__’:

num = 12340.1

print num

print num2chn(num)

转载请注明:seo-网站优化-网站建设 » python将人民币转换大写的脚本代码

python中用函数货币转换代码_python将人民币转换大写的脚本代码相关推荐

  1. python备份文件代码_python备份文件以及mysql数据库的脚本代码

    #!/usr/local/python import os import time import string source=['/var/www/html/xxx1/','/var/www/html ...

  2. 在python中用递归的方法编程_python基础之函数,递归,内置函数

    阅读目录 一 数学定义的函数与python中的函数 初中数学函数定义:一般的,在一个变化过程中,如果有两个变量x和y,并且对于x的每一个确定的值,y都有唯一确定的值与其对应,那么我们就把x称为自变量, ...

  3. [转载] python strptime函数转时间数组_python—时间与时间戳之间的转换

    参考链接: Python strptime() 对于时间数据,如2016-05-05 20:28:54,有时需要与时间戳进行相互的运算,此时就需要对两种形式进行转换,在Python中,转换时需要用到t ...

  4. python货币转换编程_Python实现制度转换(货币,温度,长度)

    人民币和美元是世界上通用的两种货币之一,写一个程序进行货币间币值转换,其中: 人民币和美元间汇率固定为:1美元 = 6.78人民币. 程序可以接受人民币或美元输入,转换为美元或人民币输出.人民币采用R ...

  5. python怎么保存文件代码_Python文件读写保存操作的实现代码

    本篇文章给大家带来的内容是关于Python文件读写保存操作的实现代码 ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 记录下第一次使用Python读写文件的过程,虽然很简单,第一次实 ...

  6. python中函数startswith的用法_Python中的startswith和endswith函数使用实例

    在Python中有两个函数分别是startswith()函数与endswith()函数,功能都十分相似,startswith()函数判断文本是否以某个字符开始,endswith()函数判断文本是否以某 ...

  7. python回调函数实例详解_Python回调函数用法实例详解

    本文实例讲述了Python回调函数用法.分享给大家供大家参考.具体分析如下: 一.百度百科上对回调函数的解释: 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函 ...

  8. python定义函数的关键字是_python 函数定义

    python 函数 ---------------- ---------------- ---------------- ---------------- def test(x): print(x) ...

  9. python的函数的对象属性_Python帮助函数调试函数 用于获取对象的属性及属性值...

    Python帮助函数调试函数 用于获取对象的属性及属性值 刚接触Python,上篇 <Python入门>第一个Python Web程序--简单的Web服务器 中调试非常不方便,不知道对象详 ...

最新文章

  1. 『TensorFlow』卷积层、池化层详解
  2. BZOJ 2140 稳定婚姻(强联通分量判环)【BZOJ修复工程】
  3. 黑金花大理石_黑金花 , 经典就是经典 ! 美 !
  4. ccna学习笔记之五:路由器密码恢复
  5. 【网址收藏】rancher镜像源仓库
  6. JPEG原理分析及JPEG解码器的调试
  7. 查看表扫描次数,并对比索引对表查询的作用
  8. 【报错笔记】eclipse启动出现错误
  9. Java分布式系统高并发解决方案
  10. SQL 必知必会·笔记14更新和删除数据
  11. 刚入职新公司做一些什么贡献_如果您有全职工作,如何为Kubernetes做贡献
  12. 「小程序JAVA实战」微信小程序工程结构了解(五)
  13. 谈谈数据传输中的安全性
  14. springboot11 模板引擎
  15. 2020上海大学生网络安全赛MISC题WP
  16. 解决高版本MATLAB robotics toolbox在plot/teach时报错问题
  17. Linux查看tomcat是否启动,查看tomcat监听端口
  18. DexPathList在真机环境下闪退的两种解决方案。
  19. 乐教乐学各关的解(61-70)
  20. 全国计算机等级考试在线报名入口,2021年3月全国计算机等级考试NCRE报名入口ncre-bm.neea.cn...

热门文章

  1. 大剑无锋之TCP和UDP区别【面试推荐】
  2. Hadoop 02_初学必知
  3. leetcode 25. Reverse Nodes in k-Group | 25. K 个一组翻转链表(Java)
  4. 【Python日志输出】控制台输出INFO和WARNING级别,文件只记录WARNING级别
  5. 【BootCDN】前端使用开源免费的 CDN 加速服务
  6. 算法设计与分析 0-1背包问题 动态规划解法【超详细】
  7. C++ vector容器 find erase的使用:查找并删除指定元素
  8. 泛型中的模糊继承,解析T的意义
  9. OpenBase关于一致性,可用性,分区容错性(CAP)分析
  10. Effective Java之优先使用标准的异常(六十)