我们需要一个通用框架,允许我们的应用程序在国际单位制的基本单位和派生单位之间进行各种转换。即应该可以将单位为“米”的值与单位“公里”的值相加,并且应该能够确定表达式的单位是什么。
因此,如果我们计算速度 (m/s) 和时间 (h:mm:ss) 的乘积,那么它应该能够确定结果单位是距离 (m)。
有谁知道这样的库是否在某个地方可用,商业或开源?
我们需要一个通用框架,允许我们的应用程序在国际单位制的基本单位和派生单位之间进行各种转换。即应该可以将单位为“米”的值与单位“公里”的值相加,并且应该能够确定表达式的单位是什么。
因此,如果我们计算速度 (m/s) 和时间 (h:mm:ss) 的乘积,那么它应该能够确定结果单位是距离 (m)。
有谁知道这样的库是否在某个地方可用,商业或开源?
没有办法直接做到这一点,我已经看到了。
您必须将一种类型转换为另一种类型(或两者都转换为通用类型),执行您的操作,然后将结果转换回来。
Delphi(至少从 2007 年开始)附带具有ConvUnit
可以执行此类操作的类的单元,并且有一个示例应用程序演示了名为ConvertIt
. 你可以做你自己的自定义转换类型,这使得它非常灵活。
Delphi 文档 wiki中有更多信息。