char in double

Gast #2502451
Lesenswert?
• ▲
▼
Hallo zusammen,
ich benutze volgende funktion:
double chartodouble(char *grad)
{
  double ergebnis = 999.999; // ungültiger Wert
  double d;
  double g;
  char *endp;

  g = strtod(grad, &endp);
  if (grad != endp && *endp == '\0')
  {

    d = trunc(g/100);
    ergebnis = d + (g - d*100)/60;

  }
  return ergebnis;
}

aufgerufen wird die so:
chartodouble("123.456");

im AVRStudio5 kann ich es nicht kompilieren.
sobald ich "g = strtod(grad, &endp);" rausnehme. Geht alles. Natürlich 
ohne berechnung.
included sind:
#include <math.h>
#include <stdint.h>
#include <stdlib.h>

Kann mir bitte jemand helfen. Ich weiss nicht weiter.

Danke
Gruss
Milan
Gast #2502482
Lesenswert?
• ▲
▼
also ich kann es nur nicht kompilieren!
Feher:
========== Build: 0 succeeded or up-to-date, 1 failed, 0 skipped 
==========

Das wars! Keine Fehler meldung. nix.

mit myAVR Workpad kann ich die ohne Probleme kompolieren.

sobald ich die zeile: g = strtod(grad, &endp); rausnehme.
kann ich es mit AVR Studio 5 kompilieren, mit geht nicht.
Gast #2502488
Lesenswert?
• ▲
▼
im myAVR Workpad habe ich das noch
// LinkerOption:    -Wl,-u,vfprintf -lprintf_flt -lm

wenn ich das rausnehme kann ich es auch nicht kompilieren.
wie kann ich das im AVR Studio eingeben???
oder liegt es an dem??

Gruss
Milan
#2502678
Lesenswert?
• ▲
▼
milan schrieb:
> double ergebnis = 999.999; // ungültiger Wert


für sowas definiert man normalerweise wenigstens ein define, damit beide 
Seiten (aufrufer und Berechner) das selbe testen
übrigends  haben IEEE-Floats für sowas gibts extra Werte NaN wäre das in 
deinem Fall
Leider scheint es Compilerabhängig zu sein, wie man einem Float/Double 
einen NaN Wert zuweist

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.