rint, rintf, rintl

 

Publicado: julio de 2016

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

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.

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.

EntradaExcepción SEHExcepción de _matherr
± ∞, QNAN, INDningunaninguna
DesnormalizadosEXCEPTION_FLT_UNDERFLOWninguna

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.

FunciónEncabezado CEncabezado C++
rint, rintf, rintl<math.h><>>

Para obtener más información sobre compatibilidad, vea Compatibilidad.

// 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));  
}  

rint(2.499999) is 2  
rint(-2.499999) is -2  
rintf(2.800000) is 3  
rintf(-2.800000) is -3  
rintl(2.500000) is 3  
rintl(-2.500000) is -3  

System::Math::Round

Compatibilidad de punto flotante
ceil, ceilf, ceill
Floor, floorf, floorl
fmod, fmodf
lrint, lrintf, lrintl, llrint, llrintf, llrintl
lround, lroundf, lroundl, llround, llroundf, llroundl
nearbyint, nearbyintf, nearbyintl
imprimir

Mostrar: