rint, rintf, rintl
Arrondit une valeur à virgule flottante à l'entier le plus proche dans un format à virgule flottante.
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 );
Paramètres
- x
Valeur à virgule flottante à arrondir.
Valeur de retour
Les fonctions rint retournent une valeur à virgule flottante qui représente l'entier le plus proche de x. Les valeurs médianes sont arrondies en fonction du paramètre actif du mode d'arrondi à virgule flottante, à l'instar des fonctions nearbyint. Contrairement aux fonctions nearbyint, les fonctions rint peuvent lever l'exception de virgule flottante FE_INEXACT si le résultat est différent de la valeur de l'argument. Aucun retour d'erreur.
Entrée |
Exception SEH |
Exception _matherr |
---|---|---|
± ∞, QNAN, IND |
aucun |
aucun |
Nombres dénormalisés |
EXCEPTION_FLT_UNDERFLOW |
aucun |
Notes
C++ autorisant la surcharge, vous pouvez appeler des surcharges de rint qui acceptent et retournent des valeurs float et long double. Dans un programme C, rint accepte et retourne toujours un double.
Configuration requise
Fonction |
En-tête C |
En-tête C++ |
---|---|---|
rint, rintf, rintl |
<math.h> |
<cmath> |
Pour plus d'informations sur la compatibilité, voir Compatibilité.
Exemple
// 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));
}
Équivalent .NET Framework
Voir aussi
Référence
Prise en charge de la virgule flottante
lround, lroundf, lroundl, llround, llroundf, llroundl