2

我定义了一个自定义单位系统,它源自 boost::units::si::time。子单位使用 boost::units::make_scaled_unit 定义,因此转换因子使用 boost::units::scale 和 boost::units::static_rational 指定,例如 boost::units::scale<1020, boost::单位::static_rational<1> >。

一般来说,如果不是因为 boost::units::scale::value_type 是“double”,我不会抱怨。因此,数量之间的所有运行时转换都涉及浮点运算,而我的自定义单位之间的比率都是整数,例如 1 个苹果等于 18 个橙子,使用基于有理的因子进行转换就足够了。

有没有办法用其他东西覆盖用于单位转换的浮点算术?谢谢。

编辑:1.我的数量是使用整数类型定义的。

4

0 回答 0