加个判断就行:
if number[i] == ".":
print(".")
else:
......
或者改变uppercase_numbers的数据结构,改成dict.
import re
def NToS(m):
return '零壹贰叁肆伍陆柒捌玖点'['0123456789.'.index(m.group(0))]
print(re.sub('[0-9\.]',NToS,'1234560789.121'))
# coding:utf-8
ChineseNumber = ["零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"]
def convert_num_to_chinese(number):
integer, decimal = number.split('.')
result = ''
part = ''
# 整数部分转换
for i in range(len(integer)):
part = ChineseNumber[int(integer[i])] + part
result += part
# 小数部分转换
if decimal != '0':
result += '点'
part = ''
for i in range(len(decimal)):
part += ChineseNumber[int(decimal[i])]
result += part
return result
number = input("请输入一个数字")
print(convert_num_to_chinese(number))