Forum: PC-Programmierung C# double Zahlen zeihgen "n. def."


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Thomas S. (thomas_s72)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,
momentan programmiere ich ein kleines Programm, das einige Tausend GPS 
Koordinaten in eine Strecke umrechnet.
Ausgabe in C# auf dem PC. Es wird immer eine Teilstrecke (double) zur 
Gesamtstrecke addiert.
Schreibe es in eine Logdatei, dabei kommt nach einigen hundert 
Durchläufen das heraus:

Ticket | Koorinaten | Strecke

872|8,4827458|50,0962095|2,43246990029904
873|8,482746|50,0962093|2,43246990029904
874|8,4827458|50,0962093|2,43246990029904
875|8,4827458|50,0962093|2,43246990029904
876|8,4827458|50,0962091|2,43246990029904
877|8,4827458|50,0962091|n. def.
878|8,4827458|50,0962091|n. def.

die Koordinaten ändern sich nicht (Fahrzeug stand), danach sehe ich nur 
noch n.def.

Wieso gibt es double Zahlen die nicht definiert sind? Wie fange ich 
sowas ab? Hab bisher immer nur mit ganzen Zahlen gerechnet.
Vielen Dank für Anregungen. Gruß
Thomas

von Martin O. (ossi-2)


Bewertung
0 lesenswert
nicht lesenswert
n. def erscheinen nicht einfach so, sondern durch unzulässige 
arithmetische Operationen, nicht initialisisierte Werte etc.. Du musst 
jetzt schauen welches Zwischenresultat bei deinen Berechnungen als 
erstes schiefläuft.

von Cyblord -. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Thomas S. schrieb:
> Wieso gibt es double Zahlen die nicht definiert sind?

https://de.wikipedia.org/wiki/IEEE_754#Keine_Zahl_(NaN)

von Thomas S. (thomas_s72)


Bewertung
0 lesenswert
nicht lesenswert
Ja, das war ein guter Tip. In der Funktion die ich da einfach mal 
übernommen habe ist ein ACOS drin.
Der bekommt da manchmal eine 1 vorgesetzt, ich hab das rausgefiltert. 
Nun ist es OK.
Besten Dank!!

von --- (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
> Der bekommt da manchmal eine 1 vorgesetzt, ich hab das rausgefiltert

Stümper!

von Thomas S. (thomas_s72)


Bewertung
0 lesenswert
nicht lesenswert
Es sind eben nicht alle solche Superprogrammierer wie du --Gast.
Zum Beispiel derjenige, der die Berechnungsroutine veröffentlicht hat.


Ich hab da lediglich in meiner stümperhaften Weise den Ausnahmefall 
abgefangen und gebe dann eine Strecke von 0 zurück.
Bestimmt weißt du eine viel bessere Lösung.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.