| Описание функций C (Си) / C++ - ecvt |
#include требуется только для объявления функции
char *ecvt(value, ndigits, decptr,signptr);
double value; преобразуемое число
int ndigits; количество запоминаемых цифр
int *decptr; указатель на запомненное положение десятичной точки
int *signptr; указатель на запомненный индикатор знака
Описание. Функция ecvt преобразовывает число с плавающей точкой в символьную строку. Value - это число с плавающей точкой, которое должно быть преобразовано. Ecvt запоминает цифры ndigits из value как строку и добавляет к ней нулевой символ (' '). Если количество цифр в value превышает ndigits, последняя значащая цифра округля- ется. Если цифр меньше, чем ndigits, строка дополняется нулями. В строке хранятся только цифры. Положение десятичной точки и знака в value может быть определено после вызова функции из decptr и signptr. Аргумент decptr указывает на целое число, опре- деляющее положение десятичной точки относительно начала строки. 0 или отрицательное значение означают, что десятичная точка распо- ложена левее первой цифры. Аргумент signptr указывает на целое, определяющее знак преобразуемого числа. Если signptr равно 0, число положительное, иначе - отрицательное.
Возвращаемое значение.
Функция ecvt возвращает указатель на строку цифр. В случае ошибки возвращаемого значения нет. См.также atof, atoi, atol, fcvt, gcvt.
Замечание. Функции ecvt и fcvt используют для преобразова- ния один и тот же статически распределенный буфер. Каждое обраще- ние к одной из этих процедур уничтожает результат предыдущего об- ращения.
Пример:
#include
int decimal, sign; char *buffer; int preciision=10;
buffer=ecvt(3.1415926535,precision,&decimal,&sign); /*буфер содержит "3141592654",decimal=1,sign=0*/
Версия для печати |
|