kommastelle ermitteln



  • Hallo

    Wie schon gesagt, in einer reinen Gleitkommazahl sind solche Bestimmungen nicht sinnvoll. So kann zum Beispiel der Wert 2.9 in Wirklichkeit durch 2.89999 verwaltet werden, aber in einem anderen Fall genauso gut durch 2.9001

    Du Frage nach "Stellen" ist erst nachvollziehbar, wenn die Zahl in einen String in einem gewissen Format umgewandelt wird. Dann kannst du den Punkt suchen und so auch die Anzahl der Stellen bestimmen.

    bis bald
    akari



  • achso, naja ich will ja eigentlich die variable zum schluss in einen string bzw. cstring packen. dazu muss ich ja wissen an welchem punkt die nachkommazahlen anfangen.

    sicher wird es dafür schon fertige funktionen geben, aber da ich noch einsteiger bin will ich lieber erstmal selber was schreiben und mir gedanken machen als schon vorgefertigte sachen einfach bloß zu übernehmen.

    trotzdem danke



  • benutz für sowas lieber die methoden, die dir die sprache dafür schon anbietet. für cstrings gibs da z.b. sprintf



  • thordk schrieb:

    benutz für sowas lieber die methoden, die dir die sprache dafür schon anbietet. für cstrings gibs da z.b. sprintf

    Und da wir im C++ Forum sind, nutzt Du doch besser C++ Mittel: std::stringstream.



  • er hat doch explizit nach cstrings und strings gefragt. da gibs kein besser, da gibs nur ein entweder, oder.



  • Und da er nach strings gefragt hat und wir hier NICHT im ANSI C Forum sind, solltest Du sinnvollerweise auf std::stringstream verweisen, oder ... noch besser ... auf beides 😉 . Mein Beitrag war auch eher ergänzend gemeint 👍 .



  • danke erstmal.

    am liebsten würde ich cstrings benutzen da ich mit strings noch nicht so vertraut bin.

    ich hatte eigentlich gesagt das ich die methode selber bzw. mit eurer hilfe schreiben möchte und nicht fertige sachen benutzen will damit ich die sprache besser kennenlernen kann und den aufbau besser verstehe. es sei denn ihr sagt mir das sowas schwachsinn ist und solche sachen wie sprintf oder std::stringstream mit zum grundwissen gehören. falls das der fall is wäre es nich schlecht wenn ihr mir sagen könntet wie die beiden funktionieren, ich kann aber auch im netz nachschaun.



  • z.B. so:

    #include <stringstream>
    #include <string>
    
    float flValue = 234.12211;
    std::stringstream ssConvert;
    ssConvert << flValue;
    std::string strAsString(ssConvert.str());
    

    In strAsString steht dann '234.12211' 😉 .



  • CodeFinder schrieb:

    Und da er nach strings gefragt hat und wir hier NICHT im ANSI C Forum sind, solltest Du sinnvollerweise auf std::stringstream verweisen, oder ... noch besser ... auf beides 😉 . Mein Beitrag war auch eher ergänzend gemeint 👍 .

    als ergänzenden beitrag nehm ichs hin, hab halt nur ne variante für cstrings beigetragen. aber auf die these, dass strings unter c++ "allgemein sinnvoller" seien, lass ich mich nicht ein 😉



  • thx,
    und wie funzt das mit cstrings?



  • hiho schrieb:

    thx,
    und wie funzt das mit cstrings?

    memset, memcpy, strncpy, strcpy, snprintf, sprintf, ..

    gibt viele, aber bei cstrings wuerde ich entweder die laenge vom zu kopierenden variablen-inhalt auslesen und dann einen neuen char erstellen und mittels strcpy kopieren oder einen etwas groesseren char und _sicher_ mit strncpy.


Anmelden zum Antworten