Aquí, construiremos un programa C++ para la conversión doble a string usando varios métodos, es decir
- Usando to_string
- Usando flujo de string
- Usando sprintf
- Usando lexical_cast
Mantendremos la misma entrada en todos los enfoques mencionados y obtendremos una salida en consecuencia.
Aporte:
n = 456321.7651234
Producción:
string: 456321.7651234
1. Usando to_string
En C++, use std::to string para convertir un doble en una string. El parámetro requerido es un valor doble y se devuelve un objeto de string que contiene el valor doble como una secuencia de caracteres.
C++
// C++ Program to demonstrate Double to // String Conversion using to_string #include <iostream> #include <string.h> using namespace std; int main() { double n = 456321.7651234; string str = to_string(n); cout << "String is: " << str; return 0; }
String is: 456321.765123
2. Usando secuencias de secuencias
Un doble también se puede convertir en una string en C++ de diferentes maneras según nuestros requisitos usando ostringstream.
C++
// C++ Program to demonstrate Double to // String Conversion using string stream #include <iostream> #include <sstream> #include <string> using namespace std; int main() { ostringstream s; double n = 2332.43; s << n; string str = s.str(); cout << "String is:" << str; return 0; }
String is:2332.43
3. Usando sprintf
Al especificar la precisión en sprintf, podemos convertir doble en string o array de caracteres con precisión personalizada. Podemos usar sprintf para agregar texto adicional (según sea necesario) a la string al mismo tiempo.
C++
// C++ Program to demonstrate Double to // String Conversion using sprintf #include <cstring> #include <iostream> #include <string> #define Max_Digits 10 using namespace std; int main() { double N = 1243.3456; char str[Max_Digits + sizeof(char)]; std::sprintf(str, "%f", N); std::printf("string is: %s \n", str); return 0; }
string is: 1243.345600
4. Usando lexical_cast
El molde léxico es una de las mejores formas de convertir doble a string.
C++
// C++ Program to demonstrate Double to // String Conversion using lexical_cast #include <boost/lexical_cast.hpp> #include <iostream> #include <string> using namespace std; int main() { double n = 432.12; string str = boost::lexical_cast<string>(n); cout << "string is:" << str; return 0; }
string is:432.12
Publicación traducida automáticamente
Artículo escrito por ksrikanth0498 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA