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