阿拉伯數字轉中文數字

2022-03-19 05:26:05 字數 1682 閱讀 7867

推薦閱讀:

例如:將102轉為一百零二;將08轉為八。

local chnnumchar =  

local chnunitchar =

local chnunitsection =

local function sectiontochinese(section,chinesenum)

local setionchinese = ""

local unitpos = 1

local zero = true

while(section>0)

dolocal v = section%10

if v == 0 then

if (not zero) then

zero = true

chinesenum = chnnumchar[1] .. chinesenum

endelse

zero = false

setionchinese = chnnumchar[v+1]

setionchinese = setionchinese .. chnunitchar[unitpos]

chinesenum = setionchinese .. chinesenum

end

unitpos = unitpos + 1

section = math.floor(section/10)

endreturn chinesenum

endlocal function numbertochinese(num)

if num == 0 then

return "零"

endlocal unitpos = 1 --節權位標識

local all = ""

local chinesenum = ""

local needzero = false --下一小結是否需要補零

local strins = ""

while(num>0)

dolocal section = num%10000--取最後面的那乙個小節

if needzero then --判斷上一小節千位是否為零,為零就要加上零

all = chnnumchar[1] .. all

endchinesenum = sectiontochinese(section,chinesenum)

if section ~= 0 then

strins = chnunitsection[unitpos]

chinesenum = chinesenum .. strins

else

strins = chnunitsection[1]

chinesenum = strins .. chinesenum

endall = chinesenum .. all

chinesenum = ""

needzero = (section<1000) and (section>0)

num = math.floor(num/10000)

unitpos = unitpos + 1

end

return all

end

中文數字轉阿拉伯數字

這個題與leetcode第13題羅馬數字轉換很相似 13.roman to integer 我開始想用c 處理,進行漢字 個十百千萬 與數字的對應,但是中文字元不屬於ascii碼,直接使用標準類模板裡的string會導致漢字亂碼。所以得使用寬字串wstring和寬字元wchar t 使用stl中的m...

中文數字轉阿拉伯數字

中文數字的權位是明的,阿拉伯數字的權位則隱含在數字的位置中。怎麼將文字權位轉換為數字權位,下面解析。對於十進位制阿拉伯數字,數字的所在位數就是該數字與10的倍數關係。個位就是1倍,十位就是10倍,以此類推。通過這個關係,可以將阿拉伯數字隱含的權位轉換成10的倍數表示,比如 四萬兩千五百一十二 等於 ...

php 阿拉伯數字轉中文數字 方法

function ch num num,mode true char array 零 壹 貳 叄 肆 伍 陸 柒 捌 玖 dw array 拾 佰 仟 萬 億 兆 dec 點 retval if mode preg match all 0 d d num,ar else preg match all...