Convertir números en strings o viceversa es en realidad un gran cambio de paradigma en sí mismo. En general, o más específicamente en la programación competitiva, hay muchos casos en los que necesitamos convertir un número en una string o una string en un número. Pero la falta de conocimiento de ciertas herramientas esenciales nos obliga a hacerlo. En este artículo se mencionan algunos métodos para lograr esta tarea.
Convertir número a string en C++
Existen 3 métodos principales para convertir un número en una string , que son los siguientes:
- Usando string Stream
- Usando to_string()
- Uso de impulso de reparto léxico
Método 1: usar secuencias de strings
En este método, un flujo de string declara un objeto de flujo que primero inserta un número, como un flujo en un objeto y luego usa » str() » para seguir la conversión interna de un número a una string.
Ejemplo:
CPP
// C++ code to demonstrate string stream method // to convert number to string. #include<iostream> #include <sstream> // for string streams #include <string> // for string using namespace std; int main() { int num = 2016; // declaring output string stream ostringstream str1; // Sending a number as a stream into output // string str1 << num; // the str() converts number into string string geek = str1.str(); // Displaying the string cout << "The newly formed string from number is : "; cout << geek << endl; return 0; }
The newly formed string from number is : 2016
Complejidad de tiempo: O(n)
Espacio Auxiliar: O(n)
Método 2: Usar to_string()
La función to_string() acepta un número (que puede ser cualquier tipo de datos) y devuelve el número en la string deseada.
CPP
// C++ code to demonstrate "to_string()" method // to convert number to string. #include <iostream> #include <string> // for string and to_string() using namespace std; // Driver Code int main() { // Declaring integer int i_val = 20; // Declaring float float f_val = 30.50; // Conversion of int into string using // to_string() string stri = to_string(i_val); // Conversion of float into string using // to_string() string strf = to_string(f_val); // Displaying the converted strings cout << "The integer in string is : "; cout << stri << endl; cout << "The float in string is : "; cout << strf << endl; return 0; }
The integer in string is : 20 The float in string is : 30.500000
Complejidad de tiempo: O(n)
Espacio Auxiliar: O(n)
Método 3: Usar el reparto léxico de refuerzo
Similar a la conversión de strings, la función ” lexical_cast() ” sigue siendo la misma, pero en la lista de argumentos de tiempo ‘ boost lexical cast ‘ se modifica a “lexical_cast(numeric_var).
Ejemplo:
CPP
// C++ code to demonstrate "lexical_cast()" method // to convert number to string. #include <boost/lexical_cast.hpp> // for lexical_cast() #include <iostream> #include <string> // for string using namespace std; // Driver Code int main() { // Declaring float float f_val = 10.5; // Declaring int int i_val = 17; // lexical_cast() converts a float into string string strf = boost::lexical_cast<string>(f_val); // lexical_cast() converts a int into string string stri = boost::lexical_cast<string>(i_val); // Displaying string converted numbers cout << "The float value in string is : "; cout << strf << endl; cout << "The int value in string is : "; cout << stri << endl; return 0; }
The float value in string is : 10.5 The int value in string is : 17
Complejidad de tiempo: O(n)
Espacio Auxiliar: O(n)
Este artículo es una contribución de Manjeet Singh . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@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