网络编程
位置:首页>> 网络编程>> Python编程>> python2.x实现人民币转大写人民币

python2.x实现人民币转大写人民币

作者:haeasringnar  发布时间:2023-06-26 10:35:53 

标签:python,人民币,大写

本文实例为大家分享了python实现人民币转大写人民币的具体代码,供大家参考,具体内容如下

直接上代码:


# -*- coding: utf-8 -*-
def changenum( change_number ):
format_num = ["零","壹","贰","叁","肆","伍","陆","柒","捌","玖"]
format_name = ["分", "角", "元",
   "拾","百","千","万",
   "拾","百","千","亿",
   "拾","百","千","万",
   "拾","百","千","兆"]

if type( change_number ) == str:
 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_name ) - 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      
start = len(real_numbers) - 3
change_words = []
for i in range(start, -3, -1):
 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_name [i+2])

elif 0 == i or (0 == i%4 and zflag < 3):
  change_words.append(format_name [i+2])
  zflag = 0
 else:
  zflag += 1

if change_words[-1] not in (format_name[0], format_name[1]):
 change_words.append("整")

return ''.join(change_words)
#测试
# print changenum(865324.98)
#查看输出的结果是否正确

来源:https://blog.csdn.net/haeasringnar/article/details/79523836

0
投稿

猜你喜欢

  • 在ASP中加密方法有对应的解密方法好象不多,现在根据前辈资料整理出在asp中加密与解密函数,根据RSA 算法实现的。什么是RSA?
  • explain显示了mysql如何使用索引来处理select语句以及连接表.可以帮助选择更好的索引和写出更优化的查询语句.使用方法:在sel
  • 比如说点的是图片的左边,还是右边,上边还是下边?点击图片左右显示上下张,我怎么知道?这样就可以做出像QQ空间那样,打开上一个图片和下一个图片
  • vbscript中,错误处理使用on error resume next来完成,如果在你的代码里加入这一句,在这句之后的其他代码如果出现错误
  •     最近,我喜欢上了XML编程,但又苦于它的美观程度又不够,找了许多书才搞定。  &n
  • 本讲的内容是使用ASP的ActiveX Server Components(组件),说实话下面的内置组件我们用的很少。一、 Browser
  • 网站改版,如何改?如果只是设计、功能和栏目等的稍微变动,这些很简单,从技术 上说并没有多少难度。只是对于网站本身的发展来说,没有多大的作用,
  • 之前就见过很多网站在侧边栏上使用<dl />标签对来完成侧边栏栏目的布局,最近在研究DEDECMS的默认模板时,也发现该模板在大
  • * 惯,请先看测试页面:event-test.html 结论:在非IE浏览器,同一元素同一事件类型的处理函数是先进先出的。只有IE下,是先进
  • 我们通常会通过单击按钮的操作,将定义好的内容直接复制到剪贴板对于用户来说点了按钮直接【Ctrl】+【V】就可以了。其实该功能的核心原理就是用
  • 一、函数的变量作用域和可见性1.全局变量在main函数执行之前初始化,全局可见2.局部变量在函数内部或者if、for等语句块有效,使用之后外
  • 我一般看书喜欢做笔记,这份笔记不知道是什么时候看的什么书做的,也忘了是否是摘自其他地方,总之一份汇总,应该适合初学者,对于Javascrip
  • 最近几天仔细研究了一下vertical-align这个属性,结果让我大吃一惊,这个很“资深”的CSS标准竟然在各个浏览器里面的表现都各不相同
  • 事件流浏览器中的事件流意味着页面上可有不仅一个,甚至多个元素响应同一个事件。而这一个或多个元素响应事件发生的先后顺序在各个浏览器(主要针对I
  • jQuery是最近比较火的一个JavaScript库,从del.icio.us/上相关的收藏可见一斑。到目前为之jQuery已经发布到1.2
  • 在cssrain整理的一个 试题集 中有这么一道题:<SCRIPT LANGUAGE="JavaScript"&g
  • 本期薯片会的目的是讨论人物角色在设计中如何应用的问题。围绕了以下几个问题开展了讨论:1、  角色能干什么?2、  包含哪
  • 大部分时候我们讲导航,讲的是导航对内容和结构的一种表现。就是说我们在讨论导航的时候,更多的去关注怎么与之交互,以及视觉上是怎么好看。但是导航
  • 如何将产生的密码记录并发送给用户?这里使用了cdonts邮件组件来发送邮件,前提服务器得支持cdonts组件。好了,看看具体实现方法吧,不是
  • 或许你知道,Internet Explorer 6 已经不是最先进的浏览器了。事实上,它已经八岁了,但是很多人还在使用这个不安全的浏览器。正
手机版 网络编程 asp之家 www.aspxhome.com