📜  C++中的round()(1)

📅  最后修改于: 2023-12-03 14:39:57.273000             🧑  作者: Mango

C++ 中的 round()

在 C++ 中,有一个有用的函数可以帮助我们对浮点数进行四舍五入操作。这个函数就是 round()

用法

round() 的用法很简单,只需要包含 <cmath> 头文件后调用即可。它接受一个浮点数作为参数,返回最接近该浮点数的整数,如果有两个整数与该浮点数距离相同,则返回偶数。

下面是一个使用 round() 函数的例子:

#include <iostream>
#include <cmath>

int main() {
    std::cout << "round(3.14) = " << round(3.14) << std::endl; // 3
    std::cout << "round(3.5) = " << round(3.5) << std::endl; // 4
    std::cout << "round(3.6) = " << round(3.6) << std::endl; // 4
    std::cout << "round(4.5) = " << round(4.5) << std::endl; // 4
    std::cout << "round(5.5) = " << round(5.5) << std::endl; // 6
    return 0;
}
注意事项
  • round() 只在 C++11 及以后的版本中可用,如果使用 C++98,需要自己实现。
  • round() 的函数原型为 double round(double arg),参数和返回值都是浮点型,如果需要将浮点数四舍五入为整数,则需要先将其转换成整型。
  • 在进行浮点数运算时,会存在精度误差,因此在需要对浮点数进行四舍五入操作时,需要注意精度误差可能会带来的影响。
实现

如果想手动实现 round() 函数,可以参考以下代码:

int my_round(double x) {
    if (x >= 0) {
        return static_cast<int>(x + 0.5);
    } else {
        return static_cast<int>(x - 0.5);
    }
}

该函数接受一个浮点数作为参数,返回最接近该浮点数的整数,如果有两个整数与该浮点数距离相同,则返回偶数。

参考资料