Python实现把数字转换成中文

这篇文章主要介绍了Python实现把数字转换成中文,一般用于数字金额转中文大写金额,即将阿拉伯数字转换为大写的中文,需要的朋友可以参考下

周末在家,写了个小程序,用于将阿拉伯数字转换化大写中文。程序没经过任何优化,出没经过详细的测试,挂到网上,方便将来有需要的时候直接拿来用。

 #!/usr/bin/python #-*- encoding: utf-8 -*- import types class NotIntegerError(Exception): pass class OutOfRangeError(Exception): pass _MAPPING = (u'零', u'一', u'二', u'三', u'四', u'五', u'六', u'七', u'八', u'九', ) _P0 = (u'', u'十', u'百', u'千', ) _S4, _S8, _S16 = 10 ** 4 , 10 ** 8, 10 ** 16 _MIN, _MAX = 0, 9999999999999999 def _to_chinese4(num): '''转换[0, 10000)之间的阿拉伯数字 ''' assert(0 <= num and num <_S4) 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  _MAX: raise OutOfRangeError(u'%d out of range[%d, %d)' % (num, _MIN, _MAX)) if num <_s4: return _to_chinese4(num) elif num < _s8: _to_chinese8(num) else: _to_chinese16(num) if __name__== '__main__': print to_chinese(9000) pre>

以上就是Python实现把数字转换成中文的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » python