假设,我有以下持续时间值:
auto duration=12h+15min+99s+99ms;
我想知道这是多少小时(作为 double 值)。
当我这样做时 auto hours=std::chrono::duration_cast<std::chrono::hours>(duration)
, 我得到 hours.count()
这是int
.将整个持续时间的值表示为 double 的正确方法是什么?
最佳答案
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();
或者,简单地将基于整数的持续时间除以一个基于 double 的 hours
:
cout << (12h+15min+99s+99ms)/1.0h << '\n';
关于c++ - 将持续时间值设为双倍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60782861/