La función wcstod() convierte la string ancha en doble . Esta función interpreta el contenido de una string ancha como un número de punto flotante. Si endString no es un puntero nulo, la función también establece el valor de endString para que apunte al primer carácter después del número.
Sintaxis:
double wcstod( const wchar_t* str, wchar_t** str_end )
Parámetros: La función acepta dos parámetros obligatorios que se describen a continuación:
- string: especifica la string que comienza con la representación de un número de punto flotante
- endString: especifica el puntero a un carácter ancho
Valor de retorno: la función devuelve dos valores como se muestra a continuación:
- Si tiene éxito, la función devuelve el número de coma flotante convertido como un valor de tipo double.
- Si no se pudo realizar una conversión válida, devuelve 0.0 .
- Si el valor correcto está fuera del rango de valores representables para el tipo, se devuelve un HUGE_VAL positivo o negativo y errno se establece en ERANGE.
- Si el valor correcto provocaría un desbordamiento, la función devuelve un valor cuya magnitud no es mayor que el número positivo normalizado más pequeño (algunas implementaciones de biblioteca también pueden establecer errno en ERANGE en este caso).
Los siguientes programas ilustran la función anterior:
Programa 1:
// C++ program to illustrate // wcstod() function #include <bits/stdc++.h> using namespace std; int main() { // initialize the wide string // beginning with the floating point number wchar_t string[] = L"95.6Geek"; // Pointer to a pointer to a wide character wchar_t* endString; // Convert wide string to double double value = wcstod(string, &endString); // print the string, starting double value // and its endstring wcout << L"String -> " << string << "\n"; wcout << L"Double value -> " << value << "\n"; wcout << L"End String is : " << endString << "\n"; return 0; }
Producción:
String -> 95.6Geek Double value -> 95.6 End String is : Geek
Programa 2:
// C++ program to illustrate // wcstod() function // with no endString characters #include <bits/stdc++.h> using namespace std; int main() { // initialize the wide string // beginning with the floating point number wchar_t string[] = L"10.6464"; // Pointer to a pointer to a wide character wchar_t* endString; // Convert wide string to double double value = wcstod(string, &endString); // print the string, starting double value // and its endstring wcout << L"String -> " << string << "\n"; wcout << L"Double value -> " << value << "\n"; wcout << L"End String is : " << endString << "\n"; return 0; }
Producción:
String -> 10.6464 Double value -> 10.6464 End String is :
Programa 3:
// C++ program to illustrate // wcstod() function // with whitespace present at the beginning #include <bits/stdc++.h> using namespace std; int main() { // initialize the wide string // beginning with the floating point number wchar_t string[] = L" 99.999Geek"; // Pointer to a pointer to a wide character wchar_t* endString; // Convert wide string to double double value = wcstod(string, &endString); // print the string, starting double value // and its endstring wcout << L"String -> " << string << "\n"; wcout << L"Double value -> " << value << "\n"; wcout << L"End String is : " << endString << "\n"; return 0; }
Producción:
String -> 99.999Geek Double value -> 99.999 End String is : Geek
Publicación traducida automáticamente
Artículo escrito por AmanSrivastava1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA