把金额小写转换成大写的Python代码
2007-11-20 12:51:09 来源:WEB开发网核心提示:功能将小于十万亿元的小写金额转换为大写代码CODE:def IIf( b, s1, s2):if b:return s1else:return s2def num2chn(nin=None):cs =('零','壹','贰','叁','肆'
功能将小于十万亿元的小写金额转换为大写
代码
CODE:
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 = (nin<1)
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 (nin<1))), '', 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)
- ››小写数字转化大写
- ››金额格式化(数字分割)
- ››转换工具介绍
- ››转换为RTF格式恢复Word文档
- ››小写金额转成大写算法
- ››转换大写中文数字
- ››小写转大写金额[SQLSERVER]
- ››金额阿拉伯数字转换为中文的存储过程
- ››小写转大写金额
- ››转换 SQL数据库时的疑难问题
- ››转换长短文件名
- ››金额大写转换
更多精彩
赞助商链接