''
'把乙個浮點數分解成整數和小數部分字串
num是需要被分解的浮點數
返回分解出來的整數和小數部分
第乙個陣列元素是整數部分,第二個數字元素是小數部分'''
def divide(num)
:#將乙個浮點數強制轉換成int型別,即得到他的整數部分
integer = int(num)
#浮點數減去整數部分,得到小數部分,小數部分×100取整數,得到2位小數
fraction = round((num-integer) * 100)
#下面把整數轉換成字串
return
(str(integer),str(fraction))
han_list =
["零","壹","貳","叄","肆","伍","陸","柒","捌","玖"
]unit_list =
["十","百","千"
]xiaoshu_list =
["角","分"]''
'把乙個4位數數字字元轉換成漢字字串
num_str是需要被轉換的4位數數字字串
返回4位數字串被轉換成漢字字串'''
def four_to_hanstr(num_str):
result =
"" num_len = len(num_str)
#依次歷遍數字字串的每乙個數字
for i in range(num_len):
num = int(num_str[i]
)#若有兩個0連用,唯讀乙個0
if i != num_len - 1 and num_str[i]
=="0" and num_str[i + 1]
=="0"
: pass
#若最後一位是0,不讀
elif i == num_len - 1 and num == 0 :
pass
#如果不是最後一位數字,而且數字不是零,則需要新增單位(千,百,十)
elif i != num_len - 1 and num != 0 :
result += han_list[num] + unit_list[num_len - 2 - i]
#否則不需要新增單位
else
: result += han_list[num]
return result'''
把乙個2位數數字字元轉換成漢字字串
num_str是需要被轉換的2位數數字字串
返回2位數字串被轉換成漢字字串'''
def two_to_hanstr(num_str):
result =
"" num_len = len(num_str)
#依次歷遍數字字串的每乙個數字
for i in range(num_len):
num = int(num_str[i]
)#若是0,不讀
if num == 0 :
pass
#如果不是零,則需要新增單位(角,分)
else
: result += han_list[num] + xiaoshu_list[num_len - 2 - i]
return result'''
把數字字串變成漢字字串
num_str是需要轉換的數字字串
返回數字字串被轉換成漢字字串'''
def integer_to_str(num_str)
: str_len = len(num_str)
if str_len > 12 :
print(
"數字太大,翻譯不了"
)return
elif str_len > 8 :
return four_to_hanstr(num_str[:-8]
) + '億' + \
four_to_hanstr(num_str[-8:-4]
) + '萬' + \
four_to_hanstr(num_str[-4:]
)+ '圓'
elif str_len > 4 :
return four_to_hanstr(num_str[:-4]
) + '萬' + \
four_to_hanstr(num_str[-4:]
)+ '圓'
else
:return four_to_hanstr(num_str)+ '圓'
num = float(input(
"請輸入乙個浮點數:"
))integer,fraction = divide(num)
print(integer_to_str(integer))
print(fraction)
print(integer_to_str(integer)+two_to_hanstr(fraction))
難點在於對連續0的處理。小數部分處理相對於整數部分要簡單一些 Python專案實戰 數字轉人民幣讀法
本節實現在實際開發中常用的乙個工具函式 將乙個浮點數轉換 民幣讀法的字串,這個程式需要使用陣列。實現這個函式的思路是,首先把這個浮點數分成整數部分和小數部分。提取整數部分很容易,直接將這個浮點數強制型別轉換成乙個整數即可,這個整數就是浮點數的整數部分 再使用浮點數減去整數就可以得到這個浮點數的小數部...
數字轉人民幣
數字轉換人民幣大寫形式 銀行 單位和個人填寫的各種票據和結算憑證需要將數字金額寫 民幣大寫形式,它的規則主要有以下幾條 1 數字和單位使用壹 貳 叄 肆 伍 陸 柒 捌 玖 拾 佰 仟 萬 億 元 角 分 零 整等字樣,不能使用其他漢字 2 中文大寫金額數字到 元 為止的,在 元 之後 應寫 整 字...
千億級別數字的人民幣讀法
package com.sungeo 人民幣的讀法是四位一節 x仟x百x拾 x 億 x仟x百x拾 x 萬 x仟x百x拾 x author administrator public class numtormb private string unitarr new string private str...