人民幣金額大寫轉小寫

2021-08-19 07:03:02 字數 1729 閱讀 1836

將大寫的金額轉換成小寫

對:「壹佰零壹億叄仟零叄拾萬零陸佰零陸元玖角玖分」

按」億」,」萬」,」元」進行切分

得到 [『壹佰零壹』, 『叄仟零叄拾』, 『零陸佰零陸』, 『玖角玖分』]

對list中每乙個串進行轉換然後乘以它的進製

最後累加

import re

money_dict=

format_num = ["壹","貳","叄","肆","伍","陸","柒","捌","玖"]

format_hex = ["分","角","元","拾","佰","仟"]

format_d=["億","萬","元"]

defparse

(str):

memory = 0

total = 0

if len(str)==1:

total=money_dict.get(str)

else:

for index, s in enumerate(str):

num = money_dict.get(s)

if s in format_num:

memory = num

if index ==len(str)-1:

total = total + memory

elif s in format_hex:

memory = memory * num

total = total + memory

return total

# def p_str(str):

# x = 0

# while str.find("零", x) != -1:

# b = str.find("零", x)

# x = b + 2

# str = str[:b] + str[b + 1] + "零" + str[b + 2:]

# return str

defp_data

(str):

list_d = re.split("[億萬元]", str)

resu_num = 0

for d in format_d:

if d in str:

list_d, resu_num = p_compute(list_d, resu_num, d)

if list_d[0] == "整":

return resu_num

else:

num = parse(list_d[0])

resu_num = resu_num + num

return resu_num

defp_compute

(list_d,resu_num,hex):

num = parse(list_d[0])

resu_num = resu_num + num * money_dict.get(hex)

list_d = list_d[1:]

return list_d,resu_num

if __name__ == '__main__':

str="叁拾萬零玖拾元玖分"

#str=p_str(str)

print(str)

print(p_data(str))

#parse(str)

求乙個簡單易用的demo。。。

人民幣小寫金額轉大寫金額

region 人民幣小寫金額轉大寫金額 小寫金額轉大寫金額 接收需要轉換的小寫金額 返回大寫金額 public static string convertmoney this decimal money 生成大寫金額字串 moneystr moneystr dvar unitvar 二次處理大寫金額...

人民幣 小寫金額轉換為大寫金額

標籤 空格分隔 人民幣 小寫金額轉換為大寫金額 jsp div class form group 合計人民幣金額 小寫 js 將輸入的小寫金額 轉換成大寫金額 function arabiatochinese num strunit strunit.substr strunit.length num...

人民幣金額大寫

q 在與財務相關的應用中,經常會用到人民幣金額的大寫,比如發票的列印程式。本題的任務是 從鍵盤輸入乙個十億以內的正整數 int型別 把它轉換為人民幣金額大寫 不考慮使用者輸入錯誤的情況 比如,使用者輸入 35201,程式輸出 叄萬伍仟貳佰零壹 使用者輸入 30201,程式輸出 叄萬零貳佰零壹 使用者...