施法提升::单位::数量翻倍
Casting boost::units::quantity to double
我需要将数量的值传递给库进行评估。 升压单位库采用 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
如果划分单位,则留下一个将隐式转换为double
的quantity<dimensionless>
。这消除了内部表示(value()
返回)单元是什么的任何问题。
刚刚发现这个。 我认为预期的方法是使用 Boost 的 quantity_cast
运算符。
quantity<pressure> p(101.1 * kilo * pascals);
double dblP = quantity_cast<double>(p);
http://www.boost.org/doc/libs/1_55_0/doc/html/boost_units/Quantities.html#boost_units.Quantities.Quantity_Construction_and_Conversion
参考文档显示可以使用隐式强制转换或 value()
成员方法。
operator value_type() const;
允许隐式转换为value_type
const value_type & value() const;
值的常量访问器
相关文章:
- 芬威克树(BIT).找到具有给定累积频率的最小索引,单位为 O(logN)
- Visual Studio Code - C++ Debugger 無法啟動
- CMakeLists.txt中的命名空间表示法
- 代码在我的计算机上运行良好,但是在将其提交给coursera时遇到未知的信号11问题
- 如何计算Big-O表示法中的平均渐近运行时间
- 嵌套在循环中的两个循环的 big-O 表示法
- Geeksforgeeks C 程序故障排除:IEE 754 表示法为十进制
- RcppEigen 模板化函数,用于填充单位法线
- 如何有效地计算将单位立方体映射到自身的反射和旋转?
- 以天C++为单位的两个时间戳之间的差异
- 如何以毫秒为单位获取开始时间和 now() 之间的毫秒差异(以 C++为单位?
- 从原始字节解码协议缓冲区(以 C++为单位)
- ANTLR - 如何从维度扩展单位
- 如何在 c++ 中确定一条指令(以字节为单位)在哪里结束,另一条指令从哪里开始?
- 数组指针表示法C++(移动数组时)
- 编写以 C++ 为单位返回值的函数
- 纹理单位重叠?渲染了错误的纹理
- 施法派生**→基地**有错吗?还有什么选择?
- 施法提升::单位::数量翻倍
- 我可以举一个现实生活中的例子,其中通过虚空*施法有效而reinterpret_cast无效吗?