在不同测量单位之间转换

firkin的Python项目详细描述


菲尔金是什么?

firkin是一个python模块,用于在不同的度量之间进行转换 单位。

用法

首先,我们创建一个unitmanager的实例

>>> um=UnitManager()

接下来我们创建两个单元族。第一个是liter和 使用SIFamily自动创建带有si前缀的单位:

>>> um.add(SIFamily(base='l', name='liter'))

现在我们的UnitManager知道了fl,pl,nl,…,ml,gl,tl。

10000毫升是多少升?:

>>> um.convert_to_unit(1e4, 'ml', 'l')
(Decimal("10.0000"), 'l')

接下来,我们手工创建一个家庭:

>>> f=Family(name='f', base='gallon')
>>> f.add('barrel', 36, 'gallon')
>>> f.add('kilderkin', 0.5, 'barrel')
>>> f.add('firkin', 0.5, 'kilderkin')

现在我们有一个叫做f的家庭,他们以加仑为基础,知道 木桶,基尔德金和菲尔金也是。

一个半加仑是多少加仑?:

>>> f.convert(1, 'firkin', 'gallon')
(Decimal("9.00"), 'gallon')

什么是表达3基尔德金最好的方式?:

>>> f.autoconvert(3, 'kilderkin')
(Decimal("1.50"), 'barrel')

要在族f和族liter之间进行转换,需要将f添加到 我们的UnitManager和告诉多少升(家庭的基本单位liter)a 加仑(家庭基本单位f)是:

>>> um.add(f, other='liter',  factor=4.54609)

当然,UnitManger也可以将燃油转换成加仑:

>>> um.convert_to_unit(1, 'firkin', 'gallon')
(Decimal("9.00"), 'gallon')

但它也能把弗金转换成升:

>>> um.convert_to_unit(1, 'firkin', 'l')
(Decimal("40.9148100"), 'l')

或者找到一种最好的方法用一个单位表示一公升 家庭f

>>> um.convert_to_family(1, 'l', 'f')
(Decimal("0.219969248299"), 'gallon')

也适用于桶:

>>> um.convert_to_family(1, 'barrel', 'f')
(Decimal("1.00"), 'barrel')

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java岩石、布、剪刀程序,带文件输入   java迭代Hashmap中的值列表   数组不能正确循环   JavaHibernate:对于一个遥远的惰性依赖,有一个渴望的获取者吗?   交通阻塞下的java车辆路径选择   如何在java中创建布尔方法来检查添加到具有特定索引的arraylist的对象   java Tomcat配置文件/上下文xml似乎已经崩溃了。请确保它是可分析和有效的。有关详细信息,请参阅服务器日志   为什么坐标有时相等,有时不相等?   java libgdx CameraInputController过于敏感,平移开始得太早   将C++排序函数移植到java   java应该是十进制的   swing Java JFrame中的所有内容都不可见   java使用数组中除一个元素以外的所有元素   从子类运行构造函数的Java