Einzelnen Beitrag anzeigen
  #10 (permalink)  
Alt 19.05.20
TogoTiger TogoTiger ist offline
Mitglied
 
Registriert seit: Dec 2015
Beiträge: 85
TogoTiger befindet sich auf einem aufstrebenden Ast
Standard

Doubles sind nun mal so.
Der Typ Double ist eine Gleitkommavariablen mit einer Größe von 8 Byte. Damit kannst du 15 Dezimalstellen darstellen, als sehr grosse Zahl oder auch sehr kleine. Sie ist aber immer nur auf 15 Stellen genau.
Wenn du damit rechnest kann es passieren, dass es nicht 'aufgeht'. z.B. 1/3 gibt 0.333333..... unendlich. Du kannst das ohne Rundungsfunktion in einem Double darstellen, aber es stimmt eben in der 15. Nachkommastelle nicht mehr ganz genau.
Ich treffe heute noch ab und zu auf alte Software die damit so seine Probleme hat. Grad letzthin hat der Revisor eines Kunden die Buchhaltung bemängelt, weil Total Soll - Total Haben 0.01 angezeigt hat, obwohl eigentlich alles stimmt. Ist schwierig zu beheben, ausser der Kunde kauft endlich ein moderneres Buchhaltungsprogramm
Aber DoubleToString hilft dir ja weiter.