c++ - 四舍五入正数或负数

标签 c++ floating-point integer rounding negative-number

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

是否有更好的方法来舍入 foo 来做到这一点:

static_cast<int>(foo > 0 ? foo + 0.5 : foo - 0.5)

基本上我想要这种行为:

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

最佳答案

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

关于c++ - 四舍五入正数或负数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31162992/

相关文章:

c++ - WIC中调用CreateBitmapFromHIcon时指定HICON索引

c++ - 文件的新 C++ 错误

c++ - 我可以在GCC和Clang中为单个功能启用严格的浮点行为吗?

c - 在 C 中定义 16 位整数

javascript - 整数被错误地解析为字符串

C++如何从包含的类中调用父类方法?

c++ - 成员方法调用同名但不同签名的虚方法

c - 为什么在 c 中 sizeof(0.7)=8 字节?

python - 比较浮点不等式(在Python中)

C# SqlDataReader for int