Текущий раздел:

Описания RDS

Приложения

Приложение А. Функции, константы и структуры RDS

А.5. Сервисные функции и макросы RDS

А.5.4. Отведение памяти и преобразование строк

А.5.4.3. rdsAtoD – преобразование строки в вещественное число

# Приложения

## Приложение А. Функции, константы и структуры 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 – в качестве разделителя целой и дробной части используется символ точки.

См. также

rdsGetHugeDouble, rdsDtoA, rdsAtoI.