Foros del Web » Programación para mayores de 30 ;) » Programación General »

Ayuda Urgente!! Como Convertir Un Int A String en C++

Estas en el tema de Ayuda Urgente!! Como Convertir Un Int A String en C++ en el foro de Programación General en Foros del Web. Bueno tengo esta otra interrogante, no se si ustedes me la pueden contestar, como puedo pasar un numero a string. No se que si lo ...
  #1 (permalink)  
Antiguo 22/11/2003, 11:59
 
Fecha de Ingreso: noviembre-2003
Ubicación: Honduras, C.A.
Mensajes: 12
Antigüedad: 20 años, 5 meses
Puntos: 0
Pregunta Ayuda Urgente!! Como Convertir Un Int A String en C++

Bueno tengo esta otra interrogante, no se si ustedes me la pueden contestar, como puedo pasar un numero a string. No se que si lo han hecho, me gustaria que me dieran algun truquin para hacerlo o que me pusieran la rutina.

Lo que me falta en un programa que estoy realizando es convertir un int a string, ya que necesito manipular cada digito del numero.

Por ejem, en el numero 13221, solo necesito extraer el 3221, pero no se me ocurre otra mejor forma como hacer que convirtiendolo a un string, e ingresar individualmente a cada caracter del string.

Les agradeceria su ayuda.

Att,

Rafael Acosta
Honduras, C.A.

Última edición por rafa19hon; 22/11/2003 a las 12:25
  #2 (permalink)  
Antiguo 22/11/2003, 12:12
Avatar de pabli  
Fecha de Ingreso: octubre-2003
Mensajes: 381
Antigüedad: 20 años, 6 meses
Puntos: 0
Hola Rafael,

nada más sencillo:

-------------------------------------------
dim S_cadena as string
dim I_numero as integer

'Conversión implícita
S_cadena = I_numero

'También...más correcto
S_cadena = Cstr(I_numero)
-------------------------------------------

En visual basic

Un saludo
Pablo
  #3 (permalink)  
Antiguo 22/11/2003, 12:24
 
Fecha de Ingreso: noviembre-2003
Ubicación: Honduras, C.A.
Mensajes: 12
Antigüedad: 20 años, 5 meses
Puntos: 0
Pablo, agradezco tu ayuda

Pero el pequeño problema, es que es en C++. Perdoname que no me especifique, pero no se si alli tambien sabes como se hace.

Pero gracias por ayuda brother.

Att,

Rafael Acosta
Honduras, C.A.
  #4 (permalink)  
Antiguo 22/11/2003, 12:48
Avatar de pabli  
Fecha de Ingreso: octubre-2003
Mensajes: 381
Antigüedad: 20 años, 6 meses
Puntos: 0
Rafael,

C++ no es mi fuerte pero ahí va un ejemplo:

-----------------------------------------------------
int *num = 13221;
char *cad = "";

//convierte un puntero a entero en un puntero a carácter
cad = static_cast<char *> (num);
-----------------------------------------------------

Si no funciona, prueba con "reinterpret_cast" que tiene la misma sintaxis

Saludos
  #5 (permalink)  
Antiguo 22/11/2003, 18:09
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Pues con el operador de conversion.



por ejemplo

int i=1;
char a=(char)i;

si quieres varias a la vez pues puedes intentar un ciclo for o while.


Saludos
  #6 (permalink)  
Antiguo 22/11/2003, 19:37
 
Fecha de Ingreso: septiembre-2003
Mensajes: 172
Antigüedad: 20 años, 7 meses
Puntos: 0
Hola, prueba esto a ver si te funciona

void convertir(int num,char * cConvert)
{char aux;
int i=0;
int j;
do
{ cConvert[i++]= (num % 10) + '0';
num=num/10;
}
while (num>0);
cConvert[i--]='\0';
j=0;
for (;i>j;i--,j++)
{aux=cConvert[i];
cConvert[i]=cConvert[j];
cConvert[j]=aux;
}
}

Saludos!
__________________
Sr.Propio
  #7 (permalink)  
Antiguo 22/11/2003, 23:44
 
Fecha de Ingreso: noviembre-2003
Ubicación: Santa Cruz
Mensajes: 3
Antigüedad: 20 años, 5 meses
Puntos: 0
una opcion para pasar 54321 a 4321 pero en forma de digitos seria
int eliminardigizq(int n)
{
// digamos que n=54321
int r=0;
int resultado=0;
int cont=1;
while (n>10) // para eliminar el un numero a la izq
{
r=n%10;
n=n/10;
resultado=(r*cont) +resultado;
cont=cont*10;
}
return resultado;
}
  #8 (permalink)  
Antiguo 23/11/2003, 09:38
 
Fecha de Ingreso: noviembre-2003
Ubicación: Honduras, C.A.
Mensajes: 12
Antigüedad: 20 años, 5 meses
Puntos: 0
Gracias

Voy a probar las rutinas, les agradezco la colaboracion.

Estamos en contacto.

Un saludo.
  #9 (permalink)  
Antiguo 23/11/2003, 15:42
 
Fecha de Ingreso: enero-2003
Ubicación: Stgo, Chile
Mensajes: 179
Antigüedad: 21 años, 3 meses
Puntos: 0
dentro de la libreria <string.>, hay una fncin llamada "itoa (integer to ascii), que hace todo el trabajo, no recuerdo sus parametros, pero me parecen que eran un char* y un entero, el char* es el puntero hacia donde queremos nuestra cadena, y el entero, la base (10, 16 por ej.).

luego una vez en cadena, es refacil qutarle el primer numero. ej.

char *cadena = "31221" /se supone que l numero lo tomaremos la funcion itoa.

for(int i=1, i<=strlen(cadena), i++)
{
cadena[i] = cadena[i]=0;
}
cadena[i] = NULL;
  #10 (permalink)  
Antiguo 03/08/2009, 18:20
 
Fecha de Ingreso: abril-2007
Mensajes: 6
Antigüedad: 17 años
Puntos: 1
Respuesta: Ayuda Urgente!! Como Convertir Un Int A String en C++

Código:
string num(int i)
{      
                                                 //   int to string en c++
       string num;
       int temp;
       while(i / 10!=0){
         temp=i%10;
         i= i/10;
         temp =temp + 48;
         num = (char)temp + num;

       }
       i=i+48;
       num = (char)i + num ;
       return num;
}
}
PD: tambien tube el mismo problema, y como no encontre solucion, hice un algoritmo que lo hiciera, lo posteo para que le sea util a mas personas que en google encuentren este viejo post como yo!

Última edición por jackl007; 03/08/2009 a las 19:00
  #11 (permalink)  
Antiguo 15/08/2009, 22:26
 
Fecha de Ingreso: agosto-2009
Mensajes: 4
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Ayuda Urgente!! Como Convertir Un Int A String en C++

pero y donde dejaron a itoa ?

char buffer [33];
itoa (13495,buffer,10);


recuerda dar karma si te he ayudado
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 14:33.