Рубрики

Функция wcstod () в C / C ++

Функция wcstod () преобразует широкую строку как двойную . Эта функция интерпретирует содержимое широкой строки как число с плавающей запятой. Если endString не является нулевым указателем, функция также устанавливает значение endString так, чтобы оно указывало на первый символ после числа.

Синтаксис:

double wcstod( const wchar_t* str, wchar_t** str_end )

Параметры: функция принимает два обязательных параметра, которые описаны ниже:

  • строка: указывает строку, которая начинается с представления числа с плавающей точкой
  • endString: указывает указатель на широкий символ

Возвращаемое значение: функция возвращает два значения, как показано ниже:

  • В случае успеха функция возвращает преобразованное число с плавающей запятой в виде значения типа double.
  • Если действительное преобразование не может быть выполнено, возвращается 0.0.
  • Если правильное значение находится вне диапазона представимых значений для типа, возвращается положительное или отрицательное значение HUGE_VAL, и для errno установлено значение ERANGE.
  • Если правильное значение вызвало бы недостаточное значение, функция возвращает значение, величина которого не превышает наименьшего нормализованного положительного числа (в некоторых случаях для некоторых библиотечных реализаций также может быть установлено значение erranno ERANGE).

Ниже программы иллюстрируют вышеуказанную функцию:
Программа 1:

// C ++ программа для иллюстрации
// функция wcstod ()

  
#include <bits/stdc++.h>

using namespace std;

  

int main()

{

    // инициализируем широкую строку

    // начиная с числа с плавающей точкой

    wchar_t string[] = L"95.6Geek";

  

    // Указатель на указатель на широкий символ

    wchar_t* endString;

  

    // Преобразование широкой строки в двойную

    double value = wcstod(string, &endString);

  

    // выводим строку, начиная с двойного значения

    // и его конец

    wcout << L"String -> " << string << "\n";

    wcout << L"Double value -> " << value << "\n";

    wcout << L"End String is : " << endString << "\n";

  

    return 0;

}

Выход:

String -> 95.6Geek
Double value -> 95.6
End String is : Geek

Программа 2:

// C ++ программа для иллюстрации
// функция wcstod ()
// без символов endString
#include <bits/stdc++.h>

using namespace std;

  

int main()

{

    // инициализируем широкую строку

    // начиная с числа с плавающей точкой

    wchar_t string[] = L"10.6464";

  

    // Указатель на указатель на широкий символ

    wchar_t* endString;

  

    // Преобразование широкой строки в двойную

    double value = wcstod(string, &endString);

  

    // выводим строку, начиная с двойного значения

    // и его конец

    wcout << L"String -> " << string << "\n";

    wcout << L"Double value -> " << value << "\n";

    wcout << L"End String is : " << endString << "\n";

  

    return 0;

}

Выход:

String -> 10.6464
Double value -> 10.6464
End String is :

Программа 3:

// C ++ программа для иллюстрации
// функция wcstod ()
// с пробелами в начале
#include <bits/stdc++.h>

using namespace std;

  

int main()

{

    // инициализируем широкую строку

    // начиная с числа с плавающей точкой

    wchar_t string[] = L"            99.999Geek";

  

    // Указатель на указатель на широкий символ

    wchar_t* endString;

  

    // Преобразование широкой строки в двойную

    double value = wcstod(string, &endString);

  

    // выводим строку, начиная с двойного значения

    // и его конец

    wcout << L"String -> " << string << "\n";

    wcout << L"Double value -> " << value << "\n";

    wcout << L"End String is : " << endString << "\n";

  

    return 0;

}

Выход:

String ->             99.999Geek
Double value -> 99.999
End String is : Geek

Рекомендуемые посты:

Функция wcstod () в C / C ++

0.00 (0%) 0 votes