• Domingo 22 de Diciembre de 2024, 12:59

Autor Tema:  ¿como Pasar De String A Entero?  (Leído 3491 veces)

maikmr

  • Miembro MUY activo
  • ***
  • Mensajes: 112
    • Ver Perfil
¿como Pasar De String A Entero?
« en: Martes 22 de Marzo de 2005, 15:19 »
0
Hola, quiero saber!, si tengo una variable string en C++ ¿Como hago para convertir el valor de esa variable a un valor de tipo entero osea int, para almacenarlo en luego en esta otra variable entera?

Gracias  :comp:

Diodo

  • Moderador
  • ******
  • Mensajes: 658
    • Ver Perfil
    • http://www.solocodigo.com
Re: ¿como Pasar De String A Entero?
« Respuesta #1 en: Martes 22 de Marzo de 2005, 16:26 »
0
Hola

puedes usar atoi:

Código: Text
  1.  
  2.  
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5.  
  6. int main()
  7. {
  8.    char numPtr[5] = "1234";
  9.  
  10.    printf( "Convirtiendo la cadena \"%s\" en un numero: %d\n", numPtr, atoi(numPtr) );
  11.  
  12.    return 0;
  13. }
  14.  
  15.  
  16.  


aunque no se si funcionara con variables string, en caso de que no sirva puedes pasar a char[] y luego a entero de la siguiente forma:

Código: Text
  1.  
  2.  
  3. cont char *cad1;
  4. string cad2;
  5.  
  6. cad1=ca2.c_str();
  7.  
  8.  
  9.  

creo que era algo asi pero si no te funciona busca informacion sobre c_str

espero que te sea de ayuda  :hola:  chao

maikmr

  • Miembro MUY activo
  • ***
  • Mensajes: 112
    • Ver Perfil
Re: ¿como Pasar De String A Entero?
« Respuesta #2 en: Martes 22 de Marzo de 2005, 17:26 »
0
Como que no funciono muy bien.
Tengo algo haci
 
Código: Text
  1.  
  2. string hacer = "";
  3. cin >> hacer;
  4. int haga = 0;
  5. //Necesito meter el valor de hacer en haga
  6.  
  7.  

Con el atoi el compilador me dice:
cannot convert `std::string' to `const char*' for argument `1' to `int atoi(const char*)'.

Ayuda!!!

Diodo

  • Moderador
  • ******
  • Mensajes: 658
    • Ver Perfil
    • http://www.solocodigo.com
Re: ¿como Pasar De String A Entero?
« Respuesta #3 en: Martes 22 de Marzo de 2005, 17:40 »
0
¿quieres recoger un string y pasarlo a entero?

¿y por que no coges directamente el entero?

a no ser que quieras hacer algo mas con el string .......

si no es ese el caso :

Código: Text
  1.  
  2.  
  3. #include <iostream.h>
  4.  
  5. void main()
  6. {
  7.   int entrada;
  8.   cin>>entrada;
  9.   cout<<entrada;
  10. }
  11.  
  12.  
  13.  

si necesitas el string pasalo a *char y luego pasa el char  a int como te dije en el mensaje anterior

chao

maikmr

  • Miembro MUY activo
  • ***
  • Mensajes: 112
    • Ver Perfil
Re: ¿como Pasar De String A Entero?
« Respuesta #4 en: Martes 22 de Marzo de 2005, 18:21 »
0
Pues si necesito obtener el valor entero de la cadena, para luego procesar la cadena, no como valor entero sino como cadena, y por supuesto el valor entero tambien lo necesito, para establecer una condicion ahi!

Diodo

  • Moderador
  • ******
  • Mensajes: 658
    • Ver Perfil
    • http://www.solocodigo.com
Re: ¿como Pasar De String A Entero?
« Respuesta #5 en: Martes 22 de Marzo de 2005, 18:59 »
0
Creo que no era tan dificil hacer esto ...........

Código: Text
  1.  
  2.  
  3. #include <iostream.h>
  4. #include <string>
  5.  
  6. int main(int argc, char *argv[])
  7. {
  8.  
  9. int numero;  // entero para almacenar el numero
  10. string cad1="12"; // variable string
  11. const char *cad2; // variable char*
  12. cad2=cad1.c_str(); // pasamos el string a char
  13. numero=atoi(cad2); // pasamos el char a int
  14. cout<<numero+1; // ahora puedes usar el int para hacer operaciones con el
  15.  
  16. }
  17.  
  18.  
  19.  


Para la proxima curratelo tu un poco que es como realmente se aprende  :lightsabre:

chao   :hola:

carlos20

  • Miembro activo
  • **
  • Mensajes: 34
    • Ver Perfil
Re: ¿como Pasar De String A Entero?
« Respuesta #6 en: Miércoles 23 de Marzo de 2005, 00:08 »
0
Bueno maikmr en c++ para convertir un string a int
puedes usar stringstream .

<!--xc1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>XCODE </td></tr><tr><td id='XCODE'><!--exc1-->
#include<iostream>
#include<sstream>

using namespace std;

int str_a_int(string cad){
    int i;
    stringstream ss(cad);
    ss >> i;
    return i;    
}
int main(){
  string hacer = "";
   cin >> hacer;
   int haga = str_a_int(hacer);
  cout<<"haga = "<<haga<<endl;
   return 0;
}

<!--xc2--></td></tr></table><div class='postcolor'><!--exc2-->

maikmr

  • Miembro MUY activo
  • ***
  • Mensajes: 112
    • Ver Perfil
Re: ¿como Pasar De String A Entero?
« Respuesta #7 en: Miércoles 23 de Marzo de 2005, 15:32 »
0
Gracias Carlos, me suena muy bien el modo en que convierte de string a entero, ya que ademas para el manejo de variables string yo tambien estoy usando el "using name space std".

Lo probaré, Denuevo Gracias!!  :comp:

Diabliyo

  • Miembro activo
  • **
  • Mensajes: 40
    • Ver Perfil
Re: ¿como Pasar De String A Entero?
« Respuesta #8 en: Jueves 24 de Marzo de 2005, 18:28 »
0
Hola:

Vaya es tan facil :D....

Código: Text
  1.  
  2. int num;
  3. char xnum[10];
  4.  
  5. printf( &#34; Escribe Numero: &#34; );
  6. gets( xnum );
  7. num= (char) xnum;
  8.  
  9. printf( &#34;Ahora pasamos el valor a num y es: %i&#34;, num );
  10. getchar();
  11. return 0;
  12. }
  13.  

byeeeeeeeee