von String nach Float und umgekehrt



  • Ich wandle meinen String via atof(geldbetrag) in einen Gleitkommawert um, doch nun stehe ich vor einem Problem. Nachdem ich den Betrag verrechnet habe möchte ich von diesem Float wieder zurück nach String konvertieren, da ich diesen errechneten Wert in eine Textdatei schreiben möchte.

    Und das mittels

    fputs(geldbetrag, file);
    

    Funktioniert auch alles, das schreiben, jedoch will fputs ein Charwert. Also String, oder? Wie mache ich das oder sind meine Ansätze komplett falsch?



  • wie wäre es mit fprintf() den wert in die dati zu schreiben?



  • Bzw. wenn du schon mit atof() einen String in einen float umwandelst warum nicht auch wieder zurück wandeln? strtod()?

    MfG SideWinder



  • moin

    strtod macht doch dasselbe wie atof?

    dann doch eher

    NAME
    gcvt - convert a floating-point number to a string.

    SYNOPSIS
    #include <stdlib.h>

    char *gcvt(double number, size_t ndigit, char *buf);

    Gruß
    stahl



  • ... oder auch nicht, denn:

    20.12 Old-fashioned System V number-to-string functions

    The old System V C library provided three functions to convert numbers to strings, with unusual and hard-to-use semantics. The GNU C library also provides these functions and some natural extensions.

    These functions are only available in glibc and on systems descended from AT&T Unix. Therefore, unless these functions do precisely what you need, it is better to use sprintf, which is standard.



  • stahl schrieb:

    strtod macht doch dasselbe wie atof?

    *plonk*, klar. gcvt().

    MfG SideWinder



  • Also die Lösung mit fprintf() ist wohl immer noch die geschickteste und wenn es unbedingt wieder in einen String umgewandelt werden soll, warum dann nicht sprintf()??



  • Also die Lösung mit fprintf() ist wohl immer noch die geschickteste und wenn es unbedingt wieder in einen String umgewandelt werden soll, warum dann nicht sprintf()??

    ich stimme dir ja durchaus zu.. mir ging es aber darum 😉

    SideWinder schrieb:

    stahl schrieb:

    strtod macht doch dasselbe wie atof?

    *plonk*, klar. gcvt().

    MfG SideWinder


Anmelden zum Antworten