支持各种整数到数字的转换。
numeral的Python项目详细描述
这个python库实现了从整数到数字和从数字到整数 各种数字表示的转换,包括:
- 字母表示法,即a,b,c,d,…表示0,1,2,3
- 罗马数字,即1、2、3、4,…
- 通用令牌集表示,即!,@,!!,!@…对于0,1,2,3… (给定标记集{!,@})。
泛型令牌集表示使用的令牌数最少 表示给定的整数,并使用类似于 base-n转换,只使用第一个符号。 字母表示是泛型标记集的特例。 表示法,其中拉丁字母用作标记集。 大写/小写转换应通过python内置处理。 所有表示都支持负值。
所有函数都可以通过docstring获得详细的文档。
注意,罗马数字支持包括:
- 仅限unicode和ascii表示
- 通过所谓的撇号符号对大数的部分支持 (见:https://en.wikipedia.org/wiki/Roman_numerals#Apostrophus)
- 仅加符号或减符号
- 可切换宽容/严格罗马数字解析
- 零的表示 (见:https://en.wikipedia.org/wiki/Roman_numerals#Zero)
- 负数(带有指定自定义负号的选项)
- 对古代/晚期形式的部分支持 (见:https://en.wikipedia.org/wiki/Numerals_in_Unicode#Roman_numerals)
安装
建议安装软件的方法是通过 PyPI:
$ pip install numeral
或者,您可以从 Bitbucket:
$ mkdir numeral
$ cd numeral
$ git clone git@bitbucket.org:norok2/numeral.git
$ python setup.py install
(有些步骤可能需要额外的权限,具体取决于您的配置)
除了python和它的 标准库
它是用Python2.7和3.5测试的。 其他版本未测试。
用法
定义了以下功能:
int2letter
将数字转换为最小数量的字母(在字母表内)
>>>int2letter(10)'k'>>>importstring# Common string operations>>>int2letter(10,string.ascii_letters)# using both lower and upper cases'aW'
字母2int
将一组字母(在给定的字母表内)转换成一个数字。
>>>letter2int('aa')26
int2tokens
将数字转换为最小数量的标记(在标记集内)。
>>>int2tokens(12,('!','@','#','$'))'#!'
令牌2int
将一组令牌(在给定的集合内)转换为数字。
>>>tokens2int('#!',('!','@','#','$'))12
国际妇女
将整数转换为其对应的罗马数字表示形式。
>>>int2roman(1666)# using dedicated unicode chars'ⅯⅮⅭⅬⅩⅥ'>>>int2roman(1666,only_ascii=True)# using only ASCII'MDCLXVI'
罗曼2int
将罗马数字的字符串表示形式转换为整数。
>>>int2roman('MDCLXVI')1666