在大多数情况下,汉字都比数字要显得正式一些。
比如说,“二零一九年”就比较有官方文件的味道,而“2019年”则更有个人日记的味道。
另外,汉字还可以用来编绕口令!用数字的话就难得多。还是举个栗子:
14是14,40是40。
就显得很幼齿。
十四是十四,四十是四十。
就有一种唇齿生香的感觉。
山前有44只石狮子,山后有44棵紫色柿子树。
感觉像是枯燥乏味的流水账。
山前有四十四只石狮子,山后有四十四棵紫色柿子树。
感觉像是琅琅上口的动人歌谣。
那么,用python如何实现数字转汉字的功能呢?代码不长,也不难:
han_list = ["零" , "一" , "二" , "三" , "四" , "五" , "六" , "七" , "八" , "九"]
unit_list = ["","","十" , "百" , "千"]
def four_to_han(num_str):
result = ""
num_len = len(num_str)
for i in range(num_len):
num = int(num_str[i])
if i!=num_len-1:
if num!=0:
result=result+han_list[num]+unit_list[num_len-i]
else:
if result[-1]=='零':
continue
else:
result=result+'零'
else:
if num!=0:
result += han_list[num]
return result
如上代码只能实现最多四位数字的转换。
数字位数超过四位怎么办?
还是相似的思路,只不过5-8位的单位是“万”,9-12位的单位是“亿”,13-16位的单位是“兆”。