[CSharp.net] Double und Addition

Christoph Wille csharp.net at glengamoi.com
Tue, 30 Nov 2004 08:48:07 +0100


Direktes Double-Vergleichen ist ein no-no; dafür verwendet man Deltas.

Chris

At 08:41 AM 11/30/2004, you wrote:
>Ich habe eine Frage zur Konvertierung und Addition von 'Double' Typen, die
>mir einige Schwierigkeiten bereiten.
>
>Folgender kleiner Code-Ausschnitt:
>
>~~~
>Double Value1 = Convert.ToDouble("0,05"); Double Value2 =
>Convert.ToDouble("0,01");
>
>Double Erg = Value1 + Value2;
>
>if(Erg==Convert.ToDouble("0,06"))
>         Console.Write("Equal");
>else
>         Console.Write("Not Equal");
>~~~
>
>Leider bekomme ich immer 'Not Equal' als Ergebnis da die Variable 'Erg' bei
>der Addition den Wert 0,0600000000000000005 erhält, obwohl Value1 und
>Value2 den richtigen Wert enthalten
>
>Wie bekomme ich jedoch nun den wirklichen Wert (0,06) und die korrekte
>Präzession, damit dieser Vergleich hier funktioniert? Wo liegt der=
 Fehler?
>
>Danke für jede Hilfe,
>marcus