ecvt, fcvt, gcvt - преобразование вещественного числа в цепочку символов
char *ecvt (value, ndigit, decpt, sign) double value; int ndigit, *decpt, *sign;
char *fcvt (value, ndigit, decpt, sign) double value; int ndigit, *decpt, *sign;
char *gcvt (value, ndigit, buf) double value; int ndigit; char *buf;
Функция ecvt преобразует значение value в цепочку из ndigit символов, завершающуюся нулевым байтом, и возвращает указатель на нее. Старшая цифра результата равна 0 только для нулевого значения value. Младшая цифра округляется. Смещение десятичной точки относительно начала цепочки символов запоминается по адресу decpt. Если смещение отрицательно, это означает, что точка располагается слева от возвращенных цифр. Десятичная точка не включается в возвращаемую цепочку символов. Если результат отрицателен, то слово, адресуемое указателем sign, отлично от нуля, иначе - равно нулю.
Функция fcvt аналогична функции ecvt. Отличие в том, что результат округляется для вывода в формате %f (в Фортране это формат F). Количество выводимых цифр определяется аргументом ndigit.
Функция gcvt преобразует значение value в цепочку символов, завершающуюся нулевым байтом, адрес которой задан аргументом buf, и выдает buf в качестве результата. Если возможно, функция помещает в цепочку символов ndigit значащих цифр в F-формате Фортрана, в противном случае используется E-формат. В любом случае результат готов для печати. Знак минус, если он есть, или десятичная точка включаются прямо в возвращаемую цепочку символов. Завершающие нули подавляются.
.
Значения, возвращаемые функциями ecvt и fcvt, указывают на один и тот же статический массив, содержимое которого полностью изменяется после каждого вызова.