def number_to_chinese(num):
moreThanOneHundred = num > 100
digits = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九']
if num < 0 or num > 300:
return "数字超出范围"
if num == 0:
return digits[0]
result = ''
# 处理百位
if num >= 100:
hundreds = num // 100
result += digits[hundreds] + '百'
num = num % 100
if num == 0:
return result # 整百直接返回
if num < 10:
result += '零'
# 处理十位和个位
if num >= 20:
tens = num // 10
ones = num % 10
result += digits[tens] + '十'
if ones != 0:
result += digits[ones]
elif num >= 10:
# 10~19 特殊处理
tens = num // 10
ones = num % 10
# 十位是1,要写“一十”
if moreThanOneHundred:
if tens == 1:
result += '一十'
else:
result += digits[tens] + '十'
if ones != 0:
result += digits[ones]
else:
result += '十'
if ones != 0:
result += digits[ones]
elif num > 0:
result += digits[num]
return result
结果:十六、一百、一百零一、一百一十、一百一十一
892

被折叠的 条评论
为什么被折叠?



