python數字金額轉換為中文大寫金額

2021-10-07 14:06:02 字數 1539 閱讀 1549

python數字金額轉換為中文大寫金額

編寫一函式,將數字金額轉換為中文大寫金額。設最高位考慮到億,最低位考慮到分(如:數字金額為1023.445,轉換為中文大寫金額為:壹仟零佰貳拾叄元肆角伍分)。輸入:乙個數字金額(如:1234.5),輸出:中文大寫金額(壹仟貳佰叄拾肆元伍角零分)。

from decimal import decimal

def num2money_format(change_number):

""".轉換數字為大寫貨幣格式( format_word.__len__() - 3 + 2位小數 )

change_number 支援 float, int, long, string

"""format_word = ["元",

"拾", "佰", "仟", "萬",

"拾", "佰", "仟", "億",

"拾", "佰", "仟", "萬",

"拾", "佰", "仟"]

format_word_decimal = ['分', '角']

format_num =

res = # 存放轉換結果

if '.' not in change_number:

# 輸入的數字沒有'.',為整元,沒有角和分

k = len(change_number) - 1

for i in change_number:

k = k - 1

elif '.' in change_number:

float_2_change_num = decimal(float(change_number)).quantize(decimal("0.00"))

# 如果輸入的字串有「.」,則將其轉換為浮點數後,四捨五入取兩位小數

# print(float_2_change_num)

# print(type(float_2_change_num))

depart = str(float_2_change_num).split('.')

# 將四捨五入得到的浮點數整數部分和小數部分拆開,實現操作為:先將浮點數轉為字串型別,再以「.」為分隔符分開

# print(depart)

int_part = depart[0] # 整數部分

# print(int_part)

decimal_part = depart[1] # 小數部分

# print(decimal_part)

k = len(int_part) - 1

for i in int_part: # 整數部分轉換

k = k - 1

m = len(decimal_part) - 1

for i in decimal_part: # 小數部分轉換

m = m - 1

return ''.join(res) # 返回結果

your_money = input()

result = num2money_format(your_money)

print(result)

C語言程式設計 數字金額轉換為中文大寫金額

先生,這個 在linux下用gcc編譯通過了。include include include include wchar t cstrs 10 wchar t bit 10 int main if k 0 int e,ee,t 0 e int innum while e 1 printf lc cs...

學習筆記 Java將數字金額轉換為中文金額

description 將數字金額轉換為中文金額 param bigdecimal bigdmoneynumber 轉換前的數字金額 return string 呼叫 mytochinesecurrency 101.89 壹佰零壹圓捌角玖分 mytochinesecurrency 100.89 壹佰...

JS 實現數字轉換為大寫中文金額

數字轉換為大寫中文金額 function convertcurrency money money parsefloat money if money maxnum if money 0 轉換為字串 money money.tostring if money.indexof 1 else 獲取整型部分...