跳转到主要内容

基于Unicode CLDR数据的规则化数字格式化

项目描述

Unicode RBNF

使用Unicode通用区域数据存储库(CLDR)的纯Python实现规则化数字格式化(RBNF)。

这使得您可以为大量区域拼写数字。

from unicode_rbnf import RbnfEngine

engine = RbnfEngine.for_language("en")
assert engine.format_number(1234) == "one thousand two hundred thirty-four"

根据区域,也支持不同的规则集。

from unicode_rbnf import RbnfEngine, RulesetName

engine = RbnfEngine.for_language("en")
assert engine.format_number(1999, RulesetName.YEAR) == "nineteen ninety-nine"
assert engine.format_number(11, RulesetName.ORDINAL) == "eleventh"

支持的区域

见:https://github.com/unicode-org/cldr/tree/release-44/common/rbnf

引擎实现

并非RBNF引擎的所有功能都已实现。以下功能可用

  • 文字文本(hundred
  • 商数替换(<<←←
  • 余数替换(>>→→
  • 可选替换([...]
  • 规则替换(←%ruleset_name←
  • 规则替换(=%ruleset_name=
  • 特殊规则
    • 负数(-x
    • 不正确的小数(x.x
    • 非数字(NaN
    • 无穷大(Inf

一些最终需要添加的功能

  • 正确分数规则(0.x
  • 前面的提醒替换(>>>→→→
  • 数字格式字符串(==

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

unicode_rbnf-1.3.0.tar.gz (83.4 kB 查看散列)

上传时间

构建分发

unicode_rbnf-1.3.0-py3-none-any.whl (137.1 kB 查看散列)

上传时间 Python 3

支持者