Hallo,
danke für den Tip.

Hier für alle die es interessiert nochmal die Lösung aufbereitet:

~~~
Double Value1 = Convert.ToDouble("0,05"); 
Double Value2 = Convert.ToDouble("0,01");

Double Erg = Value1 + Value2;

if(Math.Abs(Erg -
Convert.ToDouble("0,06"))<Convert.ToDouble("0,000000000000001"))
         Console.Write("Equal");
else
         Console.Write("Not Equal");
~~~

Hierbei habe ich die maximale Abweichung auf 15 Stellen hinter dem Komma,
festgelegt. Ist die Abweichung kleiner als dieser Fix-Wert wird ein
Vergleich als 'gleich' betrachtet, wenn nicht dann als 'ungleich'.
Den oft im Zusammenhang mit Rundungsabweichungen bei Bruchzahlen
angesprochenen Wert 'Double.Epsilon' kann man für dieses Beispiel nicht
verwenden, dafür sind die Abweichungen zu groß.


gruß,
marcus


Original Message:
-----------------
From: Christoph Wille [EMAIL PROTECTED]
Date: Tue, 30 Nov 2004 09:48:11 +0100
To: [EMAIL PROTECTED]
Subject: Re: [CSharp.net] Double und Addition


Ist die EDV Ausbildung also doch zu was gut ;-) So in etwa sieht das aus:

If (Abs(dResult - dExpectedResult) < dDelta) Then

Chris

At 09:02 AM 11/30/2004, you wrote:
>hmm, hab jetzt mal gesucht aber nix gefunden.
>Kannst du mir einen Tipp geben, was 'Deltas' sind, bzw. wie man damit eine
>Vergleich durchführt.
>
>danke,
>marcus
>
>
>Original Message:
>-----------------
>From: Christoph Wille [EMAIL PROTECTED]
>Date: Tue, 30 Nov 2004 08:48:07 +0100
>To: [EMAIL PROTECTED]
>Subject: Re: [CSharp.net] Double und Addition
>
>
>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


_______________________________________________
CSharp.net Mailingliste, Postings senden an:
[EMAIL PROTECTED]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/csharp.net


--------------------------------------------------------------------
mail2web - Check your email from the web at
http://mail2web.com/ .


_______________________________________________
CSharp.net Mailingliste, Postings senden an:
[EMAIL PROTECTED]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/csharp.net

Antwort per Email an