Anzeige:
Ergebnis 1 bis 9 von 9

Thema: C: double zu string

  1. #1
    Registrierter Benutzer
    Registriert seit
    11.09.2000
    Ort
    Schweiz
    Beiträge
    142

    C: double zu string

    Gibt es einen einfachen Weg einen double Wert in einen String umzuwandeln? Bis jetzt habe ich etwas wie

    void updateView(double number)
    {
    char value[100];
    sprintf(value,"%g",number);
    }

    benutzt. Sieht nicht wirklich schön aus...

  2. #2
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    afaik nicht.

    Jede Menge Funktionen für String->Zahl (atoi/atol) aber nix für umgekehrt, ausser eben sprintf().

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  3. #3
    Registrierter Benutzer
    Registriert seit
    24.06.2003
    Beiträge
    486

    Re: C: double zu string

    In C89/90 hast du nur die Möglichkeit mit sprintf.
    In C99 ist snprintf vorzuziehen,weil du da noch die Größe des Buffers übergibst.
    Dann gibt es noch die Möglichkeit mit non-Standard Funktionen,die in der Handhabung auch nicht schöner sind.

  4. #4
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Man könnte sich sonst auch ne Wrapper-Funktion schreiben.

    Aber inline-Funktionen gibts ja bei C nicht.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  5. #5
    Registrierter Benutzer
    Registriert seit
    24.06.2003
    Beiträge
    486
    Original geschrieben von peschmae

    Aber inline-Funktionen gibts ja bei C nicht.
    Doch seit C99 dabei

  6. #6
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    oh, nicht schlecht. Die Sprache wird also weiter verbessert.

    Oder lag das seit jeher in der Kompetenz des Compilers?
    Wo kriegt man das mit?

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  7. #7
    Registrierter Benutzer
    Registriert seit
    24.06.2003
    Beiträge
    486
    Original geschrieben von peschmae
    oh, nicht schlecht. Die Sprache wird also weiter verbessert.
    Sicherlich,etwa alle 10 Jahre ein neuer Standard.
    Oder lag das seit jeher in der Kompetenz des Compilers?
    __inline oder _inline oder ähnliches gab' es meist schon länger bei vielen Compilern als Extension.Der Standard macht daraus nur,eh,Standard .
    Wo kriegt man das mit?
    comp.std.c oder
    http://anubis.dkuug.dk/jtc1/sc22/wg14/www/docs/n869/

  8. #8
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    immerhin alle 10 Jahre, ich dachte die Sprache wäre ganz tot.

    Danke für die URL

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  9. #9
    Registrierter Benutzer Avatar von panzi
    Registriert seit
    04.05.2001
    Ort
    Kottingbrunn
    Beiträge
    609
    Für den Zweck hab ich mal ein paar Funktionen geschrieben. Bin mir sicher man kann sie noch optimieren (jeder Hinweiß erwünscht), aber sie funken.
    Hab sie (plus ein paar weitere) in nen Header notansi.h gepackt, da sie Funktionen sind, welche auf der Hand liegen aber nicht ANSI sind.

    Schaut's es euch an.
    Intel Core 2 Duo CPU 2.66GHz; Nvidia GeForce 8 8800 GTS; 4GB RAM; Fedora 12; KDE-testing

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •