4

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++?

Baum mit Augen
  • 49,044
  • 25
  • 144
  • 182
user1285419
  • 2,183
  • 7
  • 48
  • 70

1 Answers1

12

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.

James Mart
  • 560
  • 3
  • 16
bames53
  • 86,085
  • 15
  • 179
  • 244