前缀替代数值库
项目描述
概述
Prefixed提供了内置float的替代实现,支持带有SI (十进制)和IEC (二进制)前缀的格式化输出。
>>> from prefixed import Float
>>> f'{Float(3250):.2h}'
'3.25k'
>>> '{:.2h}s'.format(Float(.00001534))
'15.34μs'
>>> '{:.2k}B'.format(Float(42467328))
'40.50MiB'
>>> f'{Float(2048):.2m}B'
'2.00KB'
由于prefixed.Float继承自内置的float,在大多数情况下它的行为完全相同。
当与其他实数类型(float、int)执行数学运算时,结果将是prefixed.Float实例。
表示类型
支持以下用于 f-string 和 format() 的附加表示类型:'h'、'H'、'k'、'K'、'm' 和 'M'。
类型 |
含义 |
---|---|
'h' |
SI 格式。输出最接近的 SI 前缀的数字。(k、M、G 等) |
'H' |
与 'h' 相同,但精度指示有效数字。 |
'k' |
IEC 格式。输出最接近的 IEC 前缀的数字。(Ki、Mi、Gi 等) |
'K' |
与 'k' 相同,但精度指示有效数字。 |
'm' |
短 IEC 格式。与 'k' 相同,但只使用一个字符。(K、M、G 等) |
'M' |
与 'm' 相同,但精度指示有效数字。 |
'j' |
别名 'k' - 已弃用 |
'J' |
别名 'm' - 已弃用 |
字符串初始化
从字符串初始化时,将尊重 SI 和 IEC 前缀
>>> Float('2k')
Float(2000.0)
>>> Float('2Ki')
Float(2048.0)
附加标志
还有一个附加的格式标志 '!',在前面添加一个空格。
>>> f'{Float(3250):!.2h}'
'3.25 k'
有效数字
当使用 'H'、'K' 或 'M' 表示类型时,精度被视为要包含的有效数字的数量。对于最后一位将执行标准舍入。
>>> f'{Float(1246):.3h}'
'1.246k'
>>> f'{Float(1246):.3H}'
'1.25k'
默认情况下,将删除尾部零。
>>> f'{Float(1000):.3H}'
'1k'
为了保留尾部零,请包含 '#' 标志。
>>> f'{Float(1000):#.3H}'
'1.00k'
可调整的阈值
可以指定一个额外的字段,margin,通过给定的百分比降低或提高每个前缀的阈值。margin 在精度之前指定,语法为 %[-]digit+。
>>> f'{Float(950):.2h}'
'950.00'
>>> f'{Float(950):%-5.2h}'
'0.95k'
>>> f'{Float(1000):%5.2h}'
'1000.00'
>>> f'{Float(1050):%5.2h}'
'1.05k'
支持的单位
SI(十进制)单位
单位 |
名称 |
基数 |
---|---|---|
Q |
Quetta |
1030 |
R |
Ronna |
1027 |
Y |
Yotta |
1024 |
Z |
Zetta |
1021 |
E |
Exa |
1018 |
P |
Peta |
1015 |
T |
Tera |
1012 |
G |
Giga |
109 |
M |
Mega |
106 |
k |
Kilo |
103 |
m |
Milli |
10-3 |
μ |
Micro |
10-6 |
n |
Nano |
10-9 |
p |
Pico |
10-12 |
f |
Femto |
10-15 |
a |
Atto |
10-18 |
z |
Zepto |
10-21 |
y |
Yocto |
10-24 |
r |
Ronto |
10-27 |
q |
Quecto |
10-30 |
IEC(二进制)单位
单位 |
名称 |
基数 |
---|---|---|
Y |
Yobi |
280 |
Z |
Zebi |
270 |
E |
Exbi |
260 |
P |
Pedi |
250 |
T |
Tebi |
240 |
G |
Gibi |
230 |
M |
Mebi |
220 |
K |
Kibi |
210 |
项目详情
下载文件
下载您平台的文件。如果您不确定要选择哪个,请了解有关 安装软件包 的更多信息。
源分布
构建分发
prefixed-0.9.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 164403fa9ebc83280bbc4705f4b243a28837e164310b4e65c38ccab1ebafeeb3 |
|
MD5 | a1fbee3ee3ee7b271a627f0b1043afa2 |
|
BLAKE2b-256 | 48ae296470eca349da35bdec573e54320afa2b5b099c582e5d97be8bccac247e |
prefixed-0.9.0-py2.py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3cdb74bfc4cf0aba28f3574662b13afdcac27c463dcbef320fe5d03f4c5fbca8 |
|
MD5 | 984683e61a4298b38c99c71cd1dfc1c7 |
|
BLAKE2b-256 | c361d9957a0ed189ac8a89075c59c97588fb1c77e51d8d44a26f5cdf001d260c |