How does duration_cast round
How does duration_cast round
如果我转换为更粗糙的时间单位(例如std::chrono::minutes
转换为std::chrono::hours
),duration_cast
将如何舍入?例如,如果转换为std::chrono::hours
,std::chrono::minutes(91)
会变成什么值?2小时,1小时?
duration_cast
总是四舍五入到零。 即正值向下舍入,负值向上舍入。
有关其他舍入选项,请参阅:
http://howardhinnant.github.io/duration_io/chrono_util.html
floor
、ceil
和round
目前在1z(希望是C++17)草案C++。 同时,请随时使用chrono_util.html的代码,如果您有任何问题,请告诉我。
C++ 17 更新
- 标准::时间::地板 标准::
- 时间::塞伊尔 标准::
- 时间::圆形
std::chrono::floor<std::chrono::seconds>(1400ms) == 1s
std::chrono::floor<std::chrono::seconds>(1500ms) == 1s
std::chrono::floor<std::chrono::seconds>(1600ms) == 1s
std::chrono::floor<std::chrono::seconds>(-1400ms) == -2s
std::chrono::floor<std::chrono::seconds>(-1500ms) == -2s
std::chrono::floor<std::chrono::seconds>(-1600ms) == -2s
相关文章:
- 如何理解C++标准N3337中的expr.const.cast子句8
- C++Cast运算符过载
- 为什么 std::round(sin(pi/6)) 不等于 1?
- 错误:"cast"未命名类型void setCastDescription(std::string
- 在我的以下代码中获取 MLE(内存限制错误).尝试解决 ROUND C 2019(问题 A-摆动行走)启动问题
- 通过使用 const-cast 的非常量引用来延长临时的寿命
- "(void) cast"与功能有什么区别 "__attributes__"来沉默未使用的参数警告?
- C++:"Expected '(' for function-style cast or type construction"错误
- 为什么选择 g++ 给予者:"error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]"
- ceil、floor 和 round 在转换为整数时会遇到精度损失问题吗?
- Gtk+ g_signal_connect() 和 C++ lambda 会导致"invalid cast"错误
- Shared_ptr cast vs static_cast speed
- 在 iOS 上使用 Aruco 构建 OpenCV 时"Functional-style cast from id to double is not allowed"
- 覆盖 CAST 运算符(我认为它被称为向下转换)
- C++错误,隐 <function-style-cast> 式要求使用模板化类一次调用多个构造函数的多个转换
- 如何修复<function-style-cast>错误:无法从'initializer list'转换为asdending比较<W>(模板函子)
- C++ C++ 中的函数声明,键入 CAST
- 需要帮助了解如何在C++中使用 round 函数
- std::nearbyint vs std::round in C++11
- Round Double and Cast to String