python数字转对应中文_python英文数字到中文数字的转换
寫這個函數主要是用在英文日期到中文日期的轉換里。比如datetime格式化中文日期是“03月17日”,這種看起來就沒什么美感。轉換成“三月十七日”看起來就順眼多了。日期格式化函數滿地都是我就不寫了,阿拉伯數字轉中文數字的沒找到只好自己寫了。只支持100以下數字(月份和日期夠了,年份轉換沒技巧就沒寫,這個改100以上也很容易)。也沒仔細測過和優化過,馬馬虎虎夠用就OK了。
def getHansNum(d):
#先弄個中英文對照的dict
hanNum = {0: '零', 1: '一', 2: '二', 3: '三', 4: '四',
5: '五', 6: '六', 7: '七', 8: '八', 9: '九', 10: '十'}
#判斷數字是不是兩位的(if len(str(d)) > 1:),不過實際上后來發現……腦子瓦特了,應該直接判斷數字大于9不就是2位的了么……
if d > 9:
#取第一位和第二位數字,不過后來發現應該取整也可以,但是就沒折騰了
d1 = int(str(d)[0])
d2 = int(str(d)[1])
#需要判斷10和10到20間的特殊情況,比如10=十,不能是一十。不過感覺好像寫麻煩了,但是沒有深究
if d == 10:
resD = hanNum[10]
elif d > 10 and d < 20:
resD = hanNum[10]+hanNum[d2]
elif d > 10 and d2 == 0:
resD = hanNum[d1]+hanNum[10]
else:
resD = hanNum[d1]+hanNum[10]+hanNum[d2]
else:
resD = hanNum[d]
return resD
調用和測試:
while i < 100:
print(getHansNum(i)+'\n')
i = i+1
總結
以上是生活随笔為你收集整理的python数字转对应中文_python英文数字到中文数字的转换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ABBYY FineReader 14安
- 下一篇: websocket python爬虫_p