how to round a double to n decimals?

21,051

C++11 has std::round in <cmath>.

Without that you can use std::floor and std::ceil on adjusted numbers. E.g. std::floor(n * 100 + 0.5)/100 to round to two decimal places.

Although it should be noted that rounding isn't entirely trivial; There are complications such as choosing to round toward zero, toward negative infinity, round to even, etc. If you're writing programs for production be sure you understand the rounding requirements for your domain.

Share:
21,051
user1285419
Author by

user1285419

Updated on July 09, 2022

Comments

  • user1285419
    user1285419 almost 2 years

    I am trying to find a round function in the standard library but I didn't see one. Is there any way to round a double to n decimals in c++?