string to long double



  • Hallo,
    ich möchte einen eingelesenen String in long double konvertieren.
    dies habe ich mit

    long double str2dou(string input){
    	long double anz;
    	istringstream inStream(input);
    			inStream >>anz;
    			return anz;
    
    }
    

    getan. Funktioniert auch soweit, das Problem ist nur, dass ich nur 6 Nachkommastellen oder so bekomme. Die restlichen werden wahrscheinlich gerundet. Diese benötige ich aber noch. Gibt es eine andere Möglichkeit dies zutun oder was mache ich falsch? ich würde mich über eure hilfe freuen.

    lg



  • Alle Nachkommastellen sind doch da?!

    #include <iostream>
    #include <string>
    #include <sstream>
    #include <iomanip>
    
    using namespace std;
    
    long double str2dou(string input){ 
        long double anz; 
        istringstream inStream(input); 
                inStream >>anz; 
                return anz; 
    }
    
    int main()
    {
    	while(1)
    	{
    		string str;
    		cin >> str;
    
    		cout << setprecision (10) << fixed << str2dou(str) << endl;
    	}
    }
    

Log in to reply