rint(), rintf(), rintl()

Округлить число до ближайшего целого значения

Прототип:

#include <math.h>
double rint( double x );
float rintf( float x );
long double rintl( long double x );

Аргументы:

x
Число, которое требуется округлить.

Библиотека:

libm

Описание:

Функции rint(), rintf(), and rintl() возвращают целое число, ближайшее к x в направлении текущего режима округления.

Если текущий тип округления установлен в сторону минус бесконечности, то rint() идентична floor(). Если же текущий тип округления установлен в сторону плюс бесконечности, то rint() идентична ceil().

Возвращаемое значение:

Целое число (представленное в виде числа с двойной точностью double), ближайшее к x в направлении текущего режима округления (IEEE754).

Если x равен: rint() возвращает:
±Inf x
NAN NAN


Note: В случае возникновения ошибки, эти функции возвращают 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

Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да

Тематические ссылки:

ceil(), floor()




Предыдущий раздел: Описание API математической библиотеки