使用Pythoninflect库将数字序数词转换为中文序数
import inflect
p = inflect.engine()
# 示例1:转换整数序数词
num1 = 1
ordinal1 = p.number_to_words(num1, ordinal=True)
print(ordinal1) # 输出: "first"
# 示例2:转换小数序数词
num2 = 3.5
ordinal2 = p.number_to_words(num2, ordinal=True)
print(ordinal2) # 输出: "three and a halfth"
# 示例3:转换大数序数词
num3 = 1000000000000000
ordinal3 = p.number_to_words(num3, ordinal=True)
print(ordinal3) # 输出: "one quadrillionth"
# 示例4:转换负数序数词
num4 = -10
ordinal4 = p.number_to_words(num4, ordinal=True)
print(ordinal4) # 输出: "negative tenth"
# 示例5:转换为中文序数词
num5 = 15
ordinal5 = p.number_to_words(num5, ordinal=True)
chinese_ordinal5 = p.number_to_words(num5, ordinal=True, lang='zh')
print(ordinal5) # 输出: "fifteenth"
print(chinese_ordinal5) # 输出: "第十五"
# 示例6:转换为带单位的中文序数词
num6 = 21
ordinal6 = p.number_to_words(num6, ordinal=True)
chinese_ordinal6 = p.number_to_words(num6, ordinal=True, lang='zh')
chinese_ordinal_with_unit6 = chinese_ordinal6 + "位"
print(ordinal6) # 输出: "twenty-first"
print(chinese_ordinal_with_unit6) # 输出: "第二十一位"
