Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    [c++] come convertire una stringa in int?

    Ho una stringa del tipo string valore = "52" che deve essere convertita.. in int per poter essere confrontata con cod del tipo if (valore < 100) .

    Come posso convertirla in intero?



    tnx


  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304

    Moderazione

    Google


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Più che google direi di utilizzare la funzione cerca del forum stesso, ci sono decine di discussioni legate a questo argomento...

    In C++?

    codice:
    int stoint( const std::string &text )
    {
    	std::stringstream sstream;
    	sstream << text;
    
    	int integer;
    	sstream >> integer;
    
    	return integer;
    }

    Vedi se ti va bene.
    Fracty - The Fractal Generator



    If you cannot choose a concise name that expresses what the method does, it is possible that your method is attempting to perform too many diverse tasks.

  4. #4
    Più generico:

    In LexicalCast.hpp
    codice:
    #ifndef LEXICALCAST_HPP_INCLUDED
    #define LEXICALCAST_HPP_INCLUDED
    #include <sstream>
    #include <string>
    #include <stdexcept>
    
    class BadLexicalCast : std::runtime_error
    {
    public:
    	BadLexicalCast() : runtime_error("Bad lexical cast") {};
    };
    
    template <typename T>
    T LexicalCast(const std::string & str)
    {
    	std::istringstream is(str);
    	T out;
    	is>>out;
    	if(is.fail())
    		throw BadLexicalCast();
    	return out;
    }
    #endif
    Dall'esterno:
    codice:
    #include "LexicalCast.hpp"
    
    // ...
    int i=LexicalCast<int>("52");
    double d=LexicalCast<double>("54.3E5");
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725
    Originariamente inviato da GliderKite
    Più che google direi di utilizzare la funzione cerca del forum stesso, ci sono decine di discussioni legate a questo argomento...

    In C++?

    codice:
    int stoint( const std::string &text )
    {
    	std::stringstream sstream;
    	sstream << text;
    
    	int integer;
    	sstream >> integer;
    
    	return integer;
    }

    Vedi se ti va bene.

    grazie funziona alla grande!


  6. #6
    Originariamente inviato da MItaly
    Più generico:

    Indubbiamente
    Fracty - The Fractal Generator



    If you cannot choose a concise name that expresses what the method does, it is possible that your method is attempting to perform too many diverse tasks.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.