工具封装第四弹,阿拉伯数字 ===> 转换成 ===> 中文大写数字,喜欢就赶紧收藏+点赞+关注吧 !!!
---- Nick.Peng
二、实现代码如下:
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Author: Nick # @Date: 2019-10-26 16:24:32 # @Last Modified by: Nick # @Last Modified time: 2019-10-26 16:50:45 def num_to_ch(num): """ 功能说明:将阿拉伯数字 ===> 转换成中文数字(适用于[0, 10000)之间的阿拉伯数字 ) """ num = int(num) _MAPPING = (u'零', u'一', u'二', u'三', u'四', u'五', u'六', u'七', u'八', u'九', ) _P0 = (u'', u'十', u'百', u'千', ) _S4 = 10 ** 4 if num < 0 or num >= _S4: return None if num < 10: return _MAPPING[num] else: lst = [] while num >= 10: lst.append(num % 10) num = num // 10 lst.append(num) c = len(lst) # 位数 result = u'' for idx, val in enumerate(lst): if val != 0: result += _P0[idx] + _MAPPING[val] if idx < c - 1 and lst[idx + 1] == 0: result += u'零' result = result[::-1] if result[:2] == u"一十": result = result[1:] if result[-1:] == u"零": result = result[:-1] return result
123456789101112131415161718192021222324252627282930313233343536373839'