首页后端开发PythonPython怎样实现数字转中文?教你两个方法

Python怎样实现数字转中文?教你两个方法

时间2024-03-23 11:04:03发布访客分类Python浏览924
导读:有时候我们需要将阿拉伯数字转成对于的中文,那么这样的效果究竟要怎样做呢?对此这篇就给大家来用Python实现数字转中文,下文分享了两种转换方式,示例代码有一定的参考价值,有需要的朋友可以参考,那么接下来就跟随小编学习一下吧。本文操作环境:w...

有时候我们需要将阿拉伯数字转成对于的中文,那么这样的效果究竟要怎样做呢?对此这篇就给大家来用Python实现数字转中文,下文分享了两种转换方式,示例代码有一定的参考价值,有需要的朋友可以参考,那么接下来就跟随小编学习一下吧。

本文操作环境:windows7系统,DELL G3电脑,python3.5版

python实现将阿拉伯数字转换成中文

第一种转换方式:

    1  -->
      一
    12   -->
  一二
def num_to_char(num):
    """数字转中文"""
    num=str(num)
    new_str=""
    num_dict={
"0":u"零","1":u"一","2":u"二","3":u"三","4":u"四","5":u"五","6":u"六","7":u"七","8":u"八","9":u"九"}
    
    listnum=list(num)
    # print(listnum)
    shu=[]
    for i in listnum:
        # print(num_dict[i])
        shu.append(num_dict[i])
    new_str="".join(shu)
    # print(new_str)
    return new_str

第二种转换方式:

     1   -->
       一
    12  -->
       十二
    23  -->
      二十三
_MAPPING = (u'零', u'一', u'二', u'三', u'四', u'五', u'六', u'七', u'八', u'九', u'十', u'十一', u'十二',
 u'十三', u'十四', u'十五', u'十六', u'十七',u'十八', u'十九')
_P0 = (u'', u'十', u'百', u'千',)
_S4 = 10 ** 4
def _to_chinese4(num):
    assert (0 = num and num  _S4)
    if num  20:
        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):
            val = int(val)
            if val != 0:
                result += _P0[idx] + _MAPPING[val]
                if idx  c - 1 and lst[idx + 1] == 0:
                    result += u'零'
        return result[::-1]

以上就是用Python实现数字转中文的几种方法,上述示例具有一定的借鉴价值,有需要的朋友可以了解看看,希望对大家学习Python语言有帮助,想要了解更多可以继续浏览网络其他相关的文章。

文本转载自PHP中文网

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Python怎样实现数字转中文?教你两个方法
本文地址: https://pptw.com/jishu/651297.html
Oracle中not like的用途是什么,如何使用 Oracle中审计功能关闭的步骤是什么

游客 回复需填写必要信息