Преобразование в целое
Прототип
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 */
…