Reference

<cmath> (math.h)

function
<cmath> <ctgmath>

round

 double round (double x); float roundf (float x);long double roundl (long double x);
 double round (double x); float round (float x);long double round (long double x); double round (T x); // additional overloads for integral types
Round to nearest
Returns the integral value that is nearest to x, with halfway cases rounded away from zero.

Header <tgmath.h> provides a type-generic macro version of this function.
Additional overloads are provided in this header (<cmath> ) for the integral types: These overloads effectively cast x to a double before calculations (defined for T being any integral type ).

Parameters

x
Value to round.

Return Value

The value of x rounded to the nearest integral (as a floating-point value).

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/* round vs floor vs ceil vs trunc */
#include <stdio.h> /* printf */
#include <math.h> /* round, floor, ceil, trunc */
int main ()
{
 const char * format = "%.1f \t%.1f \t%.1f \t%.1f \t%.1f\n";
 printf ("value\tround\tfloor\tceil\ttrunc\n");
 printf ("-----\t-----\t-----\t----\t-----\n");
 printf (format, 2.3,round( 2.3),floor( 2.3),ceil( 2.3),trunc( 2.3));
 printf (format, 3.8,round( 3.8),floor( 3.8),ceil( 3.8),trunc( 3.8));
 printf (format, 5.5,round( 5.5),floor( 5.5),ceil( 5.5),trunc( 5.5));
 printf (format,-2.3,round(-2.3),floor(-2.3),ceil(-2.3),trunc(-2.3));
 printf (format,-3.8,round(-3.8),floor(-3.8),ceil(-3.8),trunc(-3.8));
 printf (format,-5.5,round(-5.5),floor(-5.5),ceil(-5.5),trunc(-5.5));
 return 0;
}

Output:

value round floor ceil trunc
----- ----- ----- ---- -----
2.3 2.0 2.0 3.0 2.0
3.8 4.0 3.0 4.0 3.0
5.5 6.0 5.0 6.0 5.0
-2.3 -2.0 -3.0 -2.0 -2.0
-3.8 -4.0 -4.0 -3.0 -3.0
-5.5 -6.0 -6.0 -5.0 -5.0


See also

floor
Round down value (function)
ceil
Round up value (function)
trunc
Truncate value (function)
nearbyint
Round to nearby integral value (function)
rint
Round to integral value (function)

AltStyle によって変換されたページ (->オリジナル) /