利用python將阿拉伯數字轉化為中文大寫,其實最麻煩的地方就是中間空多個0的問題,這種情況下,採用拆分法則,將乙個大數字,先拆分成整數部分和小數部分,再對整數部分按照仟、萬、億、兆分位拆分為四個字串組成的list,每個字串最多4個字元,然後對每個分位的字串用大寫函式轉換成大寫,最後合併,這樣等於縮減了問題,處理就相對簡單了。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
'''#演算法說明:要求字串輸入,現將字串差費為整數部分和小數部分生成list[整數部分,小數部分]
#將整數部分拆分為:[億,萬,仟]三組字串組成的list:['0000','0000','0000'](根據實際輸入生成階梯list)
#例如:600190000010.70整數部分拆分為:['600','1900','0010']
#然後對list中每個字串分組進行大寫化再合併
#最後處理小數部分的大寫化
'''class cnumber:
cdict={}
gdict={}
xdict={}
def __init__(self):
self.cdict=
self.xdict= #數字識別符號
self.gdict=
def csplit(self,cdata): #拆分函式,將整數字串拆分成[億,萬,仟]的list
g=len(cdata)%4
csdata=
lx=len(cdata)-1
if g>0:
k=gwhile k<=lx:
k+=4
return csdata
def cschange(self,cki): #對[億,萬,仟]的list中每個字串分組進行大寫化再合併
lenki=len(cki)
i=0lk=lenki
chk=u''
for i in range(lenki):
if int(cki[i])==0:
if i本文參照網上的一些寫法做了一些改動,使用起來更加嚴謹。
將漢語數字轉化為阿拉伯數字
1,例如 輸入 二百五十 輸出 250 輸入 一百三十八 輸出 138 1 python實現具體資訊如下 class solution object def chinesetoint self,strs if strs return none dicts strs strs.replace 零 li...
PHP將阿拉伯數字轉化為漢字
以下 目的是將1 2 3這種阿拉伯數字轉化為 一,二,三這種漢字,並附帶單位。因為本人水平有限,所以實現的方法比較笨拙,也可能存在bug,歡迎各位指正。arraynumber 0 零 1 一 2 二 3 三 4 四 5 五 6 六 7 七 8 八 9 九 arrayunit 0 1 十 2 百 3 ...
阿拉伯數字轉化為中文大寫
var alabo function num let tmpnewchar 最後結果 let numstr number num tostring split 0 數字轉化字串 if test numstr let bignum 億 萬 千 百 十 定義單位陣列 let bignumslice 定義...