铸造 boost::units::数量加倍

2024-01-25

我需要将数量的值传递给图书馆进行评估。这升压单位库 http://www.boost.org/doc/libs/1_52_0/doc/html/boost_units.html在 SI 中采用双值,因此升压单位库在确保该要求方面非常有吸引力。但是,我应该如何将数量转换为双精度值?文档和示例似乎避免了这种情况,因为其目的是维护这些单元。

就像是:

quantity<pressure> p(101.1 * kilo * pascals);
double dblP = static_cast<double>(p);  // double value in Pascals 

浏览标题表明......这是转换为基本类型的正确方法吗?

p.value();

我想你正在寻找的是这样的:

quantity<pressure> p(101.1 * kilo * pascals);
double dblP = p / pascals;  // double value in Pascals 

如果你分割这个单位,你会剩下一个quantity<dimensionless>这将隐式转换为double。这消除了任何关于内部表示(即value()回报)单位是。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

铸造 boost::units::数量加倍 的相关文章

随机推荐