This question already has answers here:
Round a float to a regular grid of predefined points

(11 个回答)


3年前关闭。




我试图在标准库中找到一个圆形函数,但我没有看到。有没有办法在 C++ 中将 double 四舍五入到 n 位小数?

最佳答案

C++11 在 <cmath> 中有 std::round

如果没有,您可以在调整后的数字上使用 std::floor 和 std::ceil 。例如。 std::floor(n * 100 + 0.5)/100 四舍五入到两位小数。

尽管应该指出的是,舍入并非完全无关紧要;有一些复杂情况,例如选择向零舍入、向负无穷大、向偶数舍入等。如果您正在编写用于生产的程序,请确保您了解您的域的舍入要求。

关于c++ - 如何将 double 舍入到 n 位小数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9849535/

10-13 07:07