Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Плещёв ВУМИП 2012-07-06.doc
Скачиваний:
66
Добавлен:
13.05.2015
Размер:
9.35 Mб
Скачать

6.4.3. Взаимное преобразование чисел и строк типа char

Преобразование прерывается, когда функция (stdlib.h, math.h)встре­чает первый символ, не соответствующий требуемому формату. Если фор­мат не соответствует ожидаемому, функции возвращают 0.

_int64 _atoi64(const char *s) ‑ проеобразует строкуsв целое.

long double _atold(const char *s) ‑ строку s в число с плавающей запятой.

char *_i64toa(_int64 value, char *strP, int radix) ‑ целое value в строку; radix - основание (от 2 до 36).

wchar_t *_itow(int value,wchar_t *string, int radix) ‑ целое value в строку string по основанию radix.

char *_ltoa(long value, char *string, int radix) ‑ целое value в строку; radix - основание (от 2 до 36).

Long double _strtold(const char *s, char**endptr) ‑ строки s в действитель­ное число.

сhar *_ui64toa(unsigned _int64 value, char *strP,int radix) ‑ целое value в строку; radix - основание (от 2 до 36).

wchar_t *_ultow(unsigned long value, wchar_t *string, int radix) ‑ целое value в строку string по основанию radix.

long double _wcstold(const wchar_t *s, wchar_t **endptr) ‑ строку s в действительное число.

double _wtof(const wchart *s), long double _wtold(const wchar_t *s), double atof(const char *s) ‑ строку s в число с плавающей запятой.

int ­_wtoi(const wchar_t *s),_int64 _wtoi64(const wchar_t *s),

long _wtol(const wchar_t *s), int atoi(const char *s) ‑ строку s в целое.

char *ecvt(double value, int ndig, int *dec, int *sign), char *fcvt(double value, int ndig, int *dec, int *sign) ‑ число с плавающей запятой value в строку с числом цифр ndig; dec сохраняет позицию десятичной точки, sign - знак.

Char *gcvt(double value, int ndec, char *buf) ‑ value в строку buf с числом цифр ndec.

char *itoa(int value, char *string, int radix) ‑ целое value в строку string по основанию radix.

double strtod(const char *s, char **endptr) ‑ строку s в действительное число.

long strtol(const char *s, char **endptr, int radix) ‑ строку s в длинное число.

unsigned long strtoul(const char *s, char **endptr, int radix) ‑ строку s в unsigned long по основанию radix.

char *ultoa(unsigned long value, char *string, int radix) ‑ целое value в cтро­ку string по основанию radix.

double wcstod (const wchar_t *s, wchar_t **endptr) ‑ строку s в действи­тель­­ное число.

Long wcstol(const wchar_t *s, wchar_t **endptr, int radix) ‑ строку s в длин­ное целое

Unsigned long wcstoul(const wchar_t *s, wchar_t **endptr, int radix) ‑ стро­ку s в unsigned long по основанию radix.

6.4.4. Взаимное преобразование чисел и строк типа AnsiString

Многие функции (SysUtils.hpp) используют для указания типа числа переменнуюValueType, которая может принимать значение fvExtended - число с плавающей запятой типаExtendedили значениеFvCurrency - типа Currency. Функции могут использовать для форматирования строки типаTFloatFormat, или формат функцииFormatFloat (п. 1.7.5), или строку форма­ти­ро­вания функции Format (п. 1.7.2, 1.7.3).

System::AnsiString CurrToStr(System::Currency Value) ‑ число Value типа

Currency в строку.

System::AnsiString CurrToStrF(System::Currency Value, TFloatFormat Format, int Digits) ‑ число типа Currency в строку с помощью формата типа TFloatFormat.

void FloatToDecimal(TFloatRec &Result, const void *Value, TFloatValue

System::AnsiString FloatToStr(Extended Value) ‑ число Value в строку.

System::AnsiString FloatToStrF(Extended Value, TFloatFormat Format, int Precision, int Digits) ‑ число Value в строку с помощью формата типа TFloatFormat.

void FmtStr(System::AnsiString &Result, сonst System::AnsiString Format, сonst System::TvarRec * Args, const int Args_Size),

System::AnsiString Format(const System::AnsiString Format, const System::TVarRec* Args, const int Args_Size) ‑ аргументы из открытого массива Args размера Args_Size -1 в строку по формату Format.

Cardinal FormatBuf(void *Buffer, Cardinal BufLen, const void *Format, Cardinal FmtLen, const System::TVarRec* Args, const int Args_Size) ‑ ар­гу­мен­ты из открытого массива Args размера Args_Size -1 в строку Buffer длины BufLen по формату Format длины FmtLen.

System::AnsiString FormatCurr(const System::AnsiString Format, System::Currency Value) ‑ число типа Currency в строку с помощью формата функции FormatFloat.

System::AnsiString FormatFloat(const System:: AnsiString Format, Extended Value) ‑ число Value в возвращаемую строку с помощью формата типа FormatFloat (п. 1.7.5).

void GetFormatSettings(void) ‑ устанавливает значения по умолчанию всех глобальных переменных, определяющих форматы дат и чисел.

System::AnsiString IntToNex(int Value, int Digits) ‑ целоеValueв строку с минимумDigits шестнадцатеричных цифр.

System::AnsiString IntToStr(int Value) ‑ целое Value в строку.

Char * StrEmt(char * Buffer, char * Format, Const System::TVarRec * Args, const int Args_Size) ‑ аргументы из открытого массива Args размера Args_Size - 1 в строку Buffer по формату Format.

Char * StrLEmt(char * Buffer, Cardinal MaxLen,Char * Format, const System::TVarRec* Args,Const int Args_Size) ‑ аргументы из открытого массива Args размера Args_Size -1 в строку Buffer размера MaxLen по формату Format.

System::Currensy StrToCurr(const System::AnsiString S) ‑ строку S в число типа Currensy.

Extended StrToFloat(const System::AnsiString S) ‑ строку S в вещественое число.

Int StrToInt(const System::AnsiString S) ‑ строку S в целое число.

Int StrToIntDef(const System::AnsiString S,Int Default) ‑ строку S в целое, при ошибке - значение Default по умолчанию.

bool TextToFloat(char * Buffer, void *Value, TFfloatValue ValueType) ‑ строку Buffer в число Value типа ValueType.