欢迎访问宙启技术站
智能推送

使用Pythoninflect库将数字序数词转换为中文序数

发布时间:2023-12-24 08:25:36

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)  # 输出: "第二十一位"