- std::stod() : Convierte una string en doble.
Sintaxis:double stod( const std::string& str, std::size_t* pos = 0 ); double stod( const std::wstring& str, std::size_t* pos = 0 ); Return Value: return a value of type double Parameters str : the string to convert pos : address of an integer to store the number of characters processed. This parameter can also be a null pointer, in which case it is not used.
// CPP program to illustrate
// std::stod()
#include <string>
#include <iostream>
int
main(
void
)
{
std::string str =
"y=4.4786754x+5.6"
;
double
y, x, a, b;
y = 0;
x = 0;
// offset will be set to the length of
// characters of the "value" - 1.
std::
size_t
offset = 0;
a = std::stod(&str[2], &offset);
b = std::stod(&str[offset + 3]);
std::cout << b;
return
0;
}
Producción:
5.6
Otro ejemplo :
// CPP program to illustrate
// std::stod()
#include <iostream>
#include <string>
using
namespace
std;
int
main()
{
string b =
"5"
;
double
a = stod(b);
int
c = stoi(b);
cout << b <<
" "
<< a <<
" "
<< c << endl;
}
Producción:
5 5 5
Si no se realiza la conversión, se lanza una excepción invalid_argument. Si el valor leído está fuera del rango de valores representables por un doble, se lanza una excepción out_of_range. Un idx no válido provoca un comportamiento indefinido.
- std::stof: Convierte una string en flotante.
Sintaxis:float stof( const string& str, size_t* pos = 0 ); float stof( const wstring& str, size_t* pos = 0 ); Parameters str : the string to convert pos : address of an integer to store the number of characters processed This parameter can also be a null pointer, in which case it is not used. Return value: it returns value of type float.
Ejemplo 1:
// CPP program to illustrate
// std::stof()
#include <iostream>
#include <string>
int
main()
{
std::string x;
x =
"20"
;
float
y = std::stof(x) + 2.5;
std::cout << y;
return
0;
}
Producción:
22.5
Ejemplo 2:
// CPP program to illustrate
// std::stof()
#include <iostream>
#include <string>
int
main()
{
std::string str =
"5000.5"
;
float
x = std::stof(str);
std::cout << x;
return
0;
}
Producción:
5000.5
Si no se puede realizar ninguna conversión, se lanza una excepción invalid_argument.
- std::stold: Convierte una string en un doble largo.
Sintaxis:long double stold( const string& str, size_t *pos = 0 ); long double stold (const wstring& str, size_t* pos = 0); Parameters : str : the string to convert pos : address of integer to store the index of the first unconverted character. This parameter can also be a null pointer, in which case it is not used. Return value : it returns value of type long double.
Ejemplos 1:
// CPP program to illustrate
// std::stold()
#include <iostream>
#include <string>
int
main()
{
std::string str =
"500087"
;
long
double
x = std::stold(str);
std::cout << x;
return
0;
}
Producción:
500087
Ejemplo 2:
// CPP program to illustrate
// std::stold()
#include <iostream>
#include <string>
int
main()
{
std::string x;
x =
"2075"
;
long
double
y = std::stof(x) + 2.5;
std::cout << y;
return
0;
}
Producción:
2077.5
Este artículo es una contribución de Shivani Ghughtyal . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA