función wcstod() en C/C++

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *