Laden...

Rechnen mit Double = Ergebnis falsch!

Erstellt von EgoFelix vor 14 Jahren Letzter Beitrag vor 14 Jahren 3.623 Views
E
EgoFelix Themenstarter:in
38 Beiträge seit 2009
vor 14 Jahren
Rechnen mit Double = Ergebnis falsch!

Hallo,

ich habe ein Problem mit der Berechnung mittels Double-Variablen.

Das gleiche passiert bei mir übrigends auch, wenn ich die Formel so in der Watchliste eingebe.


double a = 750.0;
double b = 1232.64;
double c = a - b;

Als Ergebnis bekomme ich nun -482.6400000000001. Ich weiss das ich einen Round draufsetzten kann, aber eigentlich sollte doch eine rundes Ergebnis dabei herauskommen...

Ich verwende .NET 3.5 Framework mit VS 2010 Beta.

Kennt vielleicht jemand dieses Phänomen?

Danke bereits im Vorraus 😉

Mit freundlichen Grüßen
Felix

J
3.331 Beiträge seit 2006
vor 14 Jahren
E
EgoFelix Themenstarter:in
38 Beiträge seit 2009
vor 14 Jahren

Ok stell ich auf Decimal um 😉

Was mich nur wundert, soweit ich in der FAQ gelesen habe, tritt diesem Problem eher beim Umrechnen in das Dezimalsystem auf. Ich hab eine Lange For-Schleife mit mehreren Berechnungen drinne, und das Problem tritt dort trotzdem an mehreren Stellen auf.

Nunja egal, nehm ich halt Decimal 😉

Besten Dank

//Edit
Hat sich erledigt hab nochmal genau nachgelesen 😉

Mit freundlichen Grüßen
Felix

3.971 Beiträge seit 2006
vor 14 Jahren

Ok stell ich auf Decimal um 😉

Bedenke aber auch die Auswirkung der Umstellung. Decimal ist kein Datentyp der direkt vom Prozessor verarbeitet werden kann (sowie beispielsweise Int, Float oder Double)

Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...

S
8.746 Beiträge seit 2005
vor 14 Jahren

... und damit etwa 20 mal langsamer ...

Bei naturwissenschaftlichen Berechnungen sollte man daher besser double verwenden. Bei Finanzberechnung ist decimal quasi zwingend. Bei Taschenrechnern empfehlenswert. Auch dort wo die Zahl der Nachkommastellen beachtet werden muss wäre decimal angesagt.