【问题标题】:Add minutes and seconds. Display in hours添加分钟和秒。以小时为单位显示
【发布时间】:2016-03-26 22:17:27
【问题描述】:

假设我想添加 29 分 60 秒并以小时为单位显示结果。

下面是一些似乎有效的方法:

cout <<
    static_cast<quantity<hour_base_unit::unit_type>>
    (quantity<time>{29.0 * minute_base_unit::unit_type()} + 60.0 * seconds)
    << endl;    

控制台显示如下:

0.5 h

这是推荐的方法吗?有没有更好或更惯用的方法?

说明上述示例的整个程序如下。

#include <iostream>
#include <boost/units/systems/si/io.hpp>
#include <boost/units/systems/si.hpp>
#include <boost/units/base_units/metric/hour.hpp>
#include <boost/units/base_units/metric/minute.hpp>

using namespace std;
using namespace boost::units;
using namespace boost::units::si;
using namespace boost::units::metric;

int main()
{   
    cout <<
        static_cast<quantity<hour_base_unit::unit_type>>
        (quantity<time>{29.0 * minute_base_unit::unit_type()} + 60.0 * seconds)
        << endl;        

    return 0;
}

【问题讨论】:

    标签: c++ boost-units


    【解决方案1】:

    你可以这样做

    (分钟/60+秒/3600)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-12
      • 1970-01-01
      • 1970-01-01
      • 2013-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-18
      相关资源
      最近更新 更多