Приложения
Приложение А. Функции, константы и структуры RDS
А.5. Сервисные функции и макросы RDS
А.5.4. Отведение памяти и преобразование строк
А.5.4.3. rdsAtoD – преобразование строки в вещественное число
Функция rdsAtoD переводит строку с символьным представлением вещественного числа двойной точности в число типа double.
void RDSCALL rdsAtoDA( RDSCSTR Str, // Строка с представлением числа (UTF8) double *pVal // Возвращаемое число ); void RDSCALL rdsAtoDW( RDSWCSTR Str, // Строка с представлением числа (UTF16) double *pVal // Возвращаемое число ); // Функция-псевдоним void RDSCALL rdsAtoD( RDSXCSTR Str, // Строка с представлением числа (кодировка по умолчанию) double *pVal // Возвращаемое число );
Тип указателя на эту функцию
RDS_VSpD (для UTF8) или RDS_VWspD (для UTF16)
Параметры
- Str (RDSCSTR, RDSWCSTR, RDSXCSTR)
- Строка с символьным представлением вещественного числа (например, «123.45»).
- pVal (double*)
- Указатель на переменную, в которую нужно записать полученное из строки вещественное число.
Примечания
Эта функция отличается от стандартных функций языка C atof и _wtof способом работы с разделителем целой и дробной части и со значением-индикатором ошибки. Она работает следующим образом:
- если первый символ переданной строки Str – вопросительный знак, функция записывает по указателю pVal значение-индикатор математической ошибки (см. функцию rdsGetHugeDouble);
- если в строке Str содержится символ, заданный в настройках Windows в качестве разделителя целой и дробной части, строка преобразуется в вещественное число согласно настройкам Windows;
- во всех остальных случаях функция работает так же, как и atof/_wtof – в качестве разделителя целой и дробной части используется символ точки.
См. также