舍入正数或负数

Jon*_*Mee 4 c++ floating-point integer rounding negative-number

我需要对一个数字进行四舍五入,但我不知道这个数字是负数还是正数.

是否有更好的方法foo来实现这一目标:

static_cast<int>(foo > 0 ? foo + 0.5 : foo - 0.5)
Run Code Online (Sandbox Code Playgroud)

基本上我想要这种行为:

3.4 => 3
3.5 => 4
-3.4 => -3
-3.5 => -4

mar*_*rom 8

对于C++,有一个: std::lround