ECVT(3C) ECVT(3C) НАЗВАНИЕ 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-формат. В любом случае результат готов для печати. Знак минус, если он есть, или деся- тичная точка включаются прямо в возвращаемую цепочку символов. Завершающие нули подавляются. СМ. ТАКЖЕ printf(3S). СЮРПРИЗЫ Значения, возвращаемые функциями ecvt и fcvt, указывают на один и тот же статический массив, содержимое которо го полностью изменяется после каждого вызова.