1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

c++ string->double

Discussão em 'Programação' iniciada por jahred, 8 de Março de 2007. (Respostas: 5; Visualizações: 1614)

  1. jahred

    jahred Power Member

    Boas! minha gente, preciso de ajuda em c++. Tenho um vector de strings chamado 'comandos', em que a 1ª posição é um número, a 2ª posição é um operador, e a 3ª posição é outro número, ou seja, um exemplo:

    comandos[0]=2.323
    comandos[1]=+
    comandos[2]=6.321

    atenção que é um vector de strings. O que quero é converter o comandos[0] e o comandos[1] para double, já tentei com o strtod, mas não acerto com akilo! alguém me dá uma ajuda? cumps
     
  2. TuxBoss

    TuxBoss Power Member

    Se não foi typo é o comandos[0] e comandos[2] que tens de converter, o comandos[1] dá-te naturalmente erro.
     
  3. Rui_Carlos

    Rui_Carlos 1st Folding then Sex

    isto deve ajudar...

    Código:
    #include <string>
    #include <sstream>
    
    using namespace std;
    
    ...
    
    string s="1.2";
    double d;
    
    stringstream ss(s);
    ss >> d;
    
    ...
    
     
  4. jahred

    jahred Power Member

    sim, enganei-me lol o que eu quero é converter o comandos[0] e o comandos[2] para double...

    mas não haverá uma maneira de fazer tipo:

    num1=strtod(....comandos[0]...)
    num2=strtod(....comandos[2]...)

    ?

    cumps
     
  5. jahred

    jahred Power Member


    boas! sim, de facto usei esse método e funcionou às mil! muito obrigado! mas se não te importas, importasme de me dar uma explicação rápida do que faz o stringstream? Agradeço imenso, pois já pesquisei na net e ainda não consegui entender!
    cumps
     
  6. Rui_Carlos

    Rui_Carlos 1st Folding then Sex

    pelo que sei 'stringstream' é uma classe que mistura strings e streams, possibilitando usar strings como se fossem streams. de certa forma, esta classe permite substituir as funções 'sprintf' e 'sscanf'.

    não sei se deu para perceber, mas C++ não é a minha especialidade...
     

Partilhar esta Página