rint, rintf, rintl
Redondea un valor de punto flotante al entero más cercano en el formato de punto flotante.
double rint( double x );
float rint( float x ); // C++ only
long double rint( long double x ); // C++ only
float rintf( float x );
long double rintl( long double x );
Parámetros
- x
Valor de punto flotante que se va a redondear.
Valor devuelto
Las funciones rint devuelven un valor de punto flotante que representa el entero más cercano a x. Los valores a medio camino se redondean en función de la configuración actual del modo de redondeo de puntos flotantes, al igual que las funciones nearbyint. Al contrario de lo que sucede con las funciones nearbyint, las funciones rint pueden generar la excepción de punto flotante FE_INEXACT si el valor del resultado es distinto del argumento. No se devuelve ningún error.
Entrada |
Excepción SEH |
Excepción de _matherr |
---|---|---|
± ∞, QNAN, IND |
ninguna |
ninguna |
Desnormalizados |
EXCEPTION_FLT_UNDERFLOW |
ninguna |
Comentarios
Puesto que C++ permite las sobrecargas, es posible llamar a las sobrecargas de rint que toman y devuelven los valores float y long double. En un programa C, rint siempre y devuelve double.
Requisitos
Función |
Encabezado C |
Encabezado C++ |
---|---|---|
rint, rintf, rintl |
<math.h> |
<cmath> |
Para obtener información adicional de compatibilidad, vea Compatibilidad.
Ejemplo
// crt_rint.c
// Build with: cl /W3 /Tc crt_rint.c
// This example displays the rounded results of
// the floating-point values 2.499999, -2.499999,
// 2.8, -2.8, 2.5 and -2.5.
#include <math.h>
#include <stdio.h>
int main( void )
{
double x = 2.499999;
float y = 2.8f;
long double z = 2.5;
printf("rint(%f) is %.0f\n", x, rint (x));
printf("rint(%f) is %.0f\n", -x, rint (-x));
printf("rintf(%f) is %.0f\n", y, rintf(y));
printf("rintf(%f) is %.0f\n", -y, rintf(-y));
printf("rintl(%Lf) is %.0Lf\n", z, rintl(z));
printf("rintl(%Lf) is %.0Lf\n", -z, rintl(-z));
}
Equivalente en .NET Framework
Vea también
Referencia
Compatibilidad con el punto flotante
lround, lroundf, lroundl, llround, llroundf, llroundl