透過編寫Python程式碼將中文大寫金額轉換為小寫數字
py浮點型運算有一個魔法,例如1.01*3.0=3.0300000000000002
所以全部轉為整數運算,最後除100返回
def toInt(value):
isum = 0
nums = {'零': 0, '壹': 1, '貳':2, '叄': 3, '肆': 4, '伍': 5, '陸': 6, '柒': 7, '捌': 8, '玖':9}
dw = {'拾': 3, '元': 2, '佰': 4, '仟': 5, '萬' : 6, '角': 1, '分': 0}
index = 0
while index < len(value):
if value[index] != '零':
if (value[index] == '拾'):
isum += 1000;
index += 1
elif value[index] in nums :
isum += nums[value[index]] * pow(10, dw[value[index + 1]])
index += 2
else:
index +=1
else:
index += 1
return round(isum, 2) / 100