【发布时间】:2020-07-02 02:29:59
【问题描述】:
假设,我有以下持续时间值:
auto duration=12h+15min+99s+99ms;
我想知道这是多少小时(作为双精度值)。
当我执行auto hours=std::chrono::duration_cast<std::chrono::hours>(duration) 时,我得到hours.count(),即int。将整个持续时间的值表示为 double 的正确方法是什么?
【问题讨论】:
-
这对我来说听起来像是初等数学。一分钟是一小时的 1/60,所以将分钟除以 60 得到多少小时,然后将其加到总小时数上得到总和?泡沫,冲洗,重复,几秒钟和几毫秒。我认为没有任何正当理由为此使用 chrono 库中的任何内容。您不清楚这个简单的数学计算的哪一部分?
-
是的,当然。我要问的是是否有一种简单/默认的方法可以从 chrono 库中获取我想要的值
-
@SamVarshavchik 我想介绍一个反例 - 具有初始状态,使用迭代器和哨兵在一个范围内迭代,并对它们应用一些逻辑/功能是基本的。然而我们确实有
std::accumulate。我很能看出这个问题的意义。