将time_point转换为浮点数
Converting time_point to float
我有这个
std::chrono::high_resolution_clock::time_point mElapsedTime;
我想将这个time_point和另一个之间的差值转换为浮点数,这可能吗?
减号运算符重载一对time_points
以生成浮点duration
。如果需要积分持续时间,可以使用持续时间转换。
// Option 1
std::chrono::duration<float, std::milli> diff = mElapsedTime - mStartedTime;
// Access the float with .count
std::cout << diff.count() << 'n';
// Option 2
// Or convert to a discrete unit of time, with underlying integral type
std::chrono::milliseconds integral_diff =
std::chrono::duration_cast<std::chrono::milliseconds>(mElapsedTime - mStartedTime);
std::cout << integral_diff.count() << 'n';
// What actually is std::chrono::milliseconds?
static_assert(
std::is_same_v<std::chrono::milliseconds, std::chrono::duration<int64_t, std::milli>>);
我在上面的示例中保留了类型,因为我觉得这有助于了解我们正在处理的内容,在现实世界的代码中,我会使用 auto,尤其是对于持续时间转换。
相关文章:
- 将浮点数转换为无符号字符数组并打印出来
- 如何将浮点数转换为uint8_t?
- 为什么C++在将浮点数转换为字符时没有显示缩小转换错误?
- 将浮点数转换为字符串时如何加快此代码的速度?
- C/C++ - 将浮点数转换为字节数组,以便字节保持排序
- 精确且无公差地将浮点数转换为字符串
- 错误:请求从 std::chrono::time_point 浮点数转换为非标量类型长整型
- 将浮点数转换为 LPCTSTR 转换
- 无法在初始化时将浮点数转换为浮点数
- 将浮点数转换为 int,带和不带强制转换
- 将浮点数转换为 int,或将 int 强制转换为浮点数
- 将浮点数转换为字符串,并指定精度和十进制数字数?
- 将范围有限的浮点数转换为无符号的整数,以保持排序顺序和精度
- 如何将浮点数转换为保留位值的整数
- 将浮点数转换为 LPCWSTR
- 正在将浮点数转换为整数定义的行为
- 将浮点数转换为整数时如何舍入
- 将浮点数转换为浮点数*
- 无需任何库函数即可将浮点数转换为字符串的有效方法
- 将浮点数转换为 4 uint8_t