CodeNet / Языки программирования / C / C++ / Linux/Unix / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
fcvt
FCVT
#include <stdlib.h> требуется только для объявле-
ния функ-
ции.
char fcvt (value, ndec, decptr, signptr);
double value; преобразуемое число.
int ndec; количество цифр после десятич-
ной точки.
int *decptr; указатель на запомненную пози-
цию десятичной точки.
int *signptr; указатель на запомненный инди-
катор знака.
Описание:
Функция fcvt преобразует число с плавающей точкой в сим-
вольную строку. Value - число с плавающей точкой, которое нужно
преобразовать. Функция fcvt запоминает цифры из value в виде
строки и добавляет к ней нулевой символ ('0\').
В аргументе ndec запоминается количество цифр после деся-
тичной точки.
Если количество цифр после десятичной точки в value превы-
шает ndec, число округляется, как это делается в формате F
FORTRAN. Если цифр меньше, чем в ndec, строка дополняется нулями.
В строке хранятся только цифры. Позиция десятичной точки и
знак числа value могут быть получены после вызова функции из
decptr и signptr. Аргумент decptr указывает на целое значение,
задающее позицию десятичной точки, считая от начала строки. 0 или
отрицательное целое значение означают, что десятичная точка лежит
левее самой первой цифры. Аргумент signptr указывает на целое
значение, определяющее знак value: если целое signptr установлено
в 0, то value - положительное, если целое signptr - ненулевое, то
value - отрицательное.
Возвращаемое значение:
Функция fcvt возвращает указатель на строку цифр. Возвраща-
емого значения в случае ошибки нет.
См.также atol, atof, atoi, ecvt, gcvt.
Замечание! Функции ecvt и fcvt используют для преобразова-
ния один и тот же статически распределенный буфер. Каждое обраще-
ние к одной из этих процедур уничтожает результат предыдущего об-
ращения.
Пример.
#include <stdlib.h>
int decimal, sign;
char *buffer;
int precision = 10;
buffer = fcvt (3.1415926535, precision,&decimal,&sign);
/*buffer ="31415926535", decimal=1, sign=0*/
