Ars*_*ray 3 c++ duration c++-chrono
假设我有以下持续时间值:
auto duration=12h+15min+99s+99ms;
Run Code Online (Sandbox Code Playgroud)
我想知道那是多少小时(作为双值)。
当我这样做时auto hours=std::chrono::duration_cast<std::chrono::hours>(duration),我知道hours.count()这是int. 获得表示为双倍的整个持续时间的值的正确方法是什么?
using namespace std::chrono;
// Create a double-based hours duration unit
using dhours = duration<double, hours::period>;
// Assign your integral-based duration to it
dhours h = 12h+15min+99s+99ms;
// Get the value
cout << h.count();
Run Code Online (Sandbox Code Playgroud)
或者,简单地将基于积分的持续时间除以一个基于双精度的持续时间hours:
cout << (12h+15min+99s+99ms)/1.0h << '\n';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
79 次 |
| 最近记录: |