Округлить число до ближайшего целого значения
#include <math.h>double rint( double x );float rintf( float x );long double rintl( long double x );
libm
Функции rint(), rintf() и rintl() возвращают целое число, ближайшее к x в направлении текущего режима округления.
Если текущий тип округления установлен в сторону минус бесконечности, то rint() идентична floor(). Если же текущий тип округления установлен в сторону плюс бесконечности, то rint() идентична ceil().
Целое число (представленное в виде числа с двойной точностью double), ближайшее к x в направлении текущего режима округления (IEEE754).
Если x равен: | rint() возвращает: |
---|---|
±Inf | x |
NAN | NAN |
В случае возникновения ошибки, эти функции возвращают 0 , который также может быть и достоверным математическим результатом. Если вам необходимо проверить, возникла ли ошибка, установите errno в 0 , вызовите функцию, и затем снова проверьте errno. Эти функции не изменяют errno в случае отсутствия ошибок. |
#include <stdio.h>#include <errno.h>#include <inttypes.h>#include <math.h>#include <fpstatus.h>int main( void ){double a, b;a = 0.7 ;b = rint( a );printf( "Round Native mode %f -> %f \n", a, b );return (0);}
ANSI, POSIX 1003.1
Предыдущий раздел: Описание API математической библиотеки