Autor
|
Tema: Ayuda codigo convertir numero entero a string (Leído 7,165 veces)
|
NanoTech
Desconectado
Mensajes: 3
|
Hola, les pido una ayuda sobre un código que hice para convertir un numero entero a string. El código puede trabajar tanto con números negativos como positivos(aunque solo lo tengo implementado para números positivos). El tema es que no me arroja nada por la salida estandar..HELP! (soy aprendiz en C++)
#include <iostream> #include <string>
using namespace std;
string intToString(const int x);
int main() { int Numero; cout<<"Ingrese un numero entero: "; cin>>Numero; cout<<"El numero convertido en string es: "<<intToString(Numero)<<endl; return 0; }
string intToString(const int x) {
string NumeroString; int y=x,resto; //Copia del numero x
while(y!=0 && resto!=0) { resto=y%10; y=y/10; NumeroString.push_back((char)resto);
}
return NumeroString; }
|
|
|
En línea
|
|
|
|
vangodp
Desconectado
Mensajes: 455
|
a que te refieres con convertir a un string?? ¿¿100 = "cien"??
|
|
|
En línea
|
|
|
|
NanoTech
Desconectado
Mensajes: 3
|
Sorry quizas me explique mal... La funcion debe retornar un objeto string conteniendo los caracteres del numero ingresado. Por ej. si se ingreso 2014 debe retornar los caracteres 2,0,1 y 4 ..ahora si se entendera mejor ..
|
|
|
En línea
|
|
|
|
eferion
Desconectado
Mensajes: 1.248
|
el número 8, no es lo mismo que el carácter '8'.
Si miras cualquier tabla ASCII verás que el código que representa al carácter '8' es el 0x38. Lo he puesto en hexadecimal porque es más sencillo de ver.
Para convertir un dígito numérico en su correspondiente carácter has de sumarle 0x30. Si tu intentas imprimir directamente el número 8, estarás mandando a la salida estándar el código correspondiente a una pulsación de la tecla "retroceso" o "borrar", como mejor la identifiques.
|
|
|
En línea
|
|
|
|
amchacon
Desconectado
Mensajes: 1.211
|
Como anotación, te diré que eso ya está implementado en la librería estándar: #include <sstream> //... stringstream linea; linea<<Numero; cout<<linea.str()<<endl;
|
|
|
En línea
|
|
|
|
SrCooper
Desconectado
Mensajes: 137
Bazinga!
|
La manera más sencilla (utilizando C++11) sería esta: std::string linea = std::to_string(42);
Un saludo
|
|
|
En línea
|
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
Solo un par de correcciones: string intToString(const int x) { string NumeroString; int y=x,resto; /** Aquí tendrías que comprobar si es negativo o no, para luego ponerle el signo '-' delante del número. Eso, si quieres hacerlo con negativos también, claro **/ while(y!=0) // resto!=0 sobraba. Aquí no importa que número es el resto. { resto=y%10; y=y/10; NumeroString=(char)(resto+48) + NumeroString; //Con push_back lo pondríamos al revés } //Lo de +48 es, como dijo Eferion, para convertir el numero a un char del 0 al 9 (48-57) return NumeroString; }
|
|
« Última modificación: 3 Abril 2014, 22:13 pm por ivancea96 »
|
En línea
|
|
|
|
vangodp
Desconectado
Mensajes: 455
|
ves si te explica bien te entierran en respuestas jeje Este es el mejor foro ^^
|
|
|
En línea
|
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
Creo que se explicó bastante bien, Vangodp. Si lo tuyo son ganas de... e.e
|
|
|
En línea
|
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
Como anotación, te diré que eso ya está implementado en la librería estándar: #include <sstream> //... stringstream linea; linea<<Numero; cout<<linea.str()<<endl;
Pues tal como lo pones me sale un número raro, sin dejarme introducir el número.
Sé que el fallo lo tengo yo, pero ¿dónde?.
Saludos!.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Ayuda [Problema al convertir HEX a String]
Programación Visual Basic
|
The Swash
|
3
|
2,792
|
1 Febrero 2010, 17:01 pm
por The Swash
|
|
|
[Python 2.7.3] No me convierte string a numero entero
Scripting
|
Yidu
|
4
|
3,280
|
19 Febrero 2013, 20:25 pm
por Yidu
|
|
|
Convertir std::string a valor entero?
« 1 2 »
Programación C/C++
|
t4r0x
|
10
|
7,792
|
6 Abril 2014, 08:46 am
por t4r0x
|
|
|
Ayuda no me copia el string entero
Programación C/C++
|
PabloPbl
|
2
|
2,221
|
11 Diciembre 2015, 04:39 am
por PabloPbl
|
|
|
[AYUDA]Convertir un array de enteros a un numero entero en Java
Java
|
Suncar007
|
2
|
8,480
|
7 Noviembre 2017, 02:18 am
por PabloPbl
|
|