Преобразование в целое
Прототип
INT DecToLong ( DECIMAL Id, /* исходное вещественное число */ LONG * Ol, /* преобразованное целое */ INT Round); /* признак округления */
Описание
Функция DecToLong
преобразует вещественное число с фиксированной точкой, заданное переменной Id
типа DECIMAL
, в целое число типа LONG
.
Если преобразуемое вещественное число имеет целочисленное значение, то параметр Round
игнорируется;
Если Round = 0
, выполняется округление до целого значения.
Если вещественное число содержит дробную часть и значение Round = 1
, то функция возвращает ошибку преобразования.
Возвращаемое значение
Код завершения (0
или 1
). При успешном завершении – целая часть вещественного числа (без округления) в переменной Ol
типа LONG
.
Пример
… if ((ok =DecToLong(vdec,&LStr ,1)) == 0) { /* Ошибка преобразования с округлением*/ printf('\n Ошибка: переполнение при преобразовании'); goto lend; } /* Ifthen */ …