国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
當前位置: 首頁 - 科技 - 知識百科 - 正文

Python實現把數字轉換成中文

來源:懂視網 責編:小采 時間:2020-11-27 14:34:08
文檔

Python實現把數字轉換成中文

Python實現把數字轉換成中文:周末在家,寫了個小程序,用于將阿拉伯數字轉換化大寫中文。程序沒經過任何優化,出沒經過詳細的測試,掛到網上,方便將來有需要的時候直接拿來用。 #!/usr/bin/python #-*- encoding: utf-8 -*- import types class NotIntegerE
推薦度:
導讀Python實現把數字轉換成中文:周末在家,寫了個小程序,用于將阿拉伯數字轉換化大寫中文。程序沒經過任何優化,出沒經過詳細的測試,掛到網上,方便將來有需要的時候直接拿來用。 #!/usr/bin/python #-*- encoding: utf-8 -*- import types class NotIntegerE

周末在家,寫了個小程序,用于將阿拉伯數字轉換化大寫中文。程序沒經過任何優化,出沒經過詳細的測試,掛到網上,方便將來有需要的時候直接拿來用。

#!/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 < c - 1 and lst[idx + 1] == 0:
 result += u'零'
 
 return result[::-1].replace(u'一十', u'十')
 
def _to_chinese8(num):
 assert(num < _S8)
 to4 = _to_chinese4
 if num < _S4:
 return to4(num)
 else:
 mod = _S4
 high, low = num / mod, num % mod
 if low == 0:
 return to4(high) + u'萬'
 else:
 if low < _S4 / 10:
 return to4(high) + u'萬零' + to4(low)
 else:
 return to4(high) + u'萬' + to4(low)
 
def _to_chinese16(num):
 assert(num < _S16)
 to8 = _to_chinese8
 mod = _S8
 high, low = num / mod, num % mod
 if low == 0:
 return to8(high) + u'億'
 else:
 if low < _S8 / 10:
 return to8(high) + u'億零' + to8(low)
 else:
 return to8(high) + u'億' + to8(low)
 
def to_chinese(num):
 if type(num) != types.IntType and type(num) != types.LongType:
 raise NotIntegerError(u'%s is not a integer.' % num)
 if num < _MIN or num > _MAX:
 raise OutOfRangeError(u'%d out of range[%d, %d)' % (num, _MIN, _MAX))
 
 if num < _S4:
 return _to_chinese4(num)
 elif num < _S8:
 return _to_chinese8(num)
 else:
 return _to_chinese16(num)
 
if __name__ == '__main__':
 print to_chinese(9000)
 

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

Python實現把數字轉換成中文

Python實現把數字轉換成中文:周末在家,寫了個小程序,用于將阿拉伯數字轉換化大寫中文。程序沒經過任何優化,出沒經過詳細的測試,掛到網上,方便將來有需要的時候直接拿來用。 #!/usr/bin/python #-*- encoding: utf-8 -*- import types class NotIntegerE
推薦度:
標簽: 中文 實現 數字
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top 主站蜘蛛池模板: 波多野吉衣在线观看 | 看全色黄大色大片免费久久 | 香蕉久久网 | 中文字幕精品一区二区精品 | 欧美αv日韩αv另类综合 | 黄色成人在线视频 | 国产日韩高清一区二区三区 | 久久精品美女 | 国内精品久久久久影院不卡 | 亚洲视频免费在线观看 | 毛片视频网址 | 亚洲欧美另类视频 | 国产精品成人69xxx免费视频 | 国产精品视频第一区二区三区 | 欧美xxxxx极品| 欧美成人看片一区二区三区尤物 | 91视频国产91久久久 | 国产成人综合久久精品亚洲 | 亚洲日韩精品欧美一区二区 | 日韩欧美精品一区二区三区 | 日韩精品国产精品 | 国产精品大全国产精品 | 国产 日韩 欧美 亚洲 | 久久久久久综合成人精品 | 国产精品欧美韩国日本久久 | 免费毛片网 | 一级全黄60分钟免费网站 | 欧美午夜一区二区福利视频 | 欧美 日韩 国产 在线 | 亚洲第一区视频 | 成人精品一级毛片 | 日本不卡视频一区二区三区 | 在线播放一区二区三区 | 国产原创一区二区 | 亚洲 欧美 成人日韩 | 欧美午夜视频 | 久久国产夜色精品噜噜亚洲a | 欧美国产日韩在线观看 | 在线色网 | 成人久久久精品乱码一区二区三区 | 久久99网站 |