python数字转中文大写,python将用户输入的数字转换成相应的中文大写数字

  python数字转中文大写,python将用户输入的数字转换成相应的中文大写数字

  最高支持九千万亿,还可以扩展,但是不支持零,不支持小数,不支持负数

  由于一万亿等于一兆,但是兆这个单位不常用,我这里用的是万亿

  如果发现病菌欢迎及时反馈

  def fun(number,recursive _ depth=0):str _ number=str(number)if len(str _ number)4:str _ number=str _ number[-4:]bits=零一二三四五六七八九。拆分("")单位="十百千. split()large _ unit=万亿万。拆分("")#可扩展,以万为单位number _ len=len(str _ number)result= for I in range(number _ len):result=bits[int(str _ number[I])]if str _ number[I]!="0 ":结果=单位[编号_长度-1]#去除连续的零"当"零零in result: result=result.replace(零零, 零) # 去除尾部的零如果结果[-1]==零:结果=结果[:-1] #调整10~20之间的数if result[:2]==一十:结果=结果[1:] #字符串连接上大单位结果=large _ unit[递归_深度] #判断是否递归if len(str(number))4:recursive _ depth=1 return fun(str(number)[:-4],recursive _ depth)结果else:返回结果金额大写换了几个字符,几乎和上面一样

  def fun(number,recursive _ depth=0):str _ number=str(number)if len(str _ number)4:str _ number=str _ number[-4:]bits=零壹贰叁肆伍陆柒捌玖。拆分("")单位="拾佰仟. split()large _ unit=万亿万。拆分("")#可扩展,以万为单位number _ len=len(str _ number)result= for I in range(number _ len):result=bits[int(str _ number[I])]if str _ number[I]!="0 ":结果=单位[编号_长度-1]#去除连续的零"当"零零in result: result=result.replace(零零, 零) # 去除尾部的零如果结果[-1]==零:结果=结果[:-1] #调整10~20之间的数if result[:2]==一十:结果=结果[1:] #字符串连接上大单位结果=large _ unit[递归_深度] #判断是否递归if len(str(number))4:recursive _ depth=1 return fun(str(number)[:-4],recursive _ depth)结果else:返回结果调用打印(趣味(240350056))#贰亿肆仟零叁拾伍万零伍拾陆

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: