Wie man Floats mit Delta vergleicht?

8

Gibt es in Ruby einige Funktionen / Syntax, um zwei Floats mit Delta zu vergleichen? Etwas Ähnliches wie assert_in_delta (expected_float, actual_float, delta) von test / unit , aber Rückgabe Boolean?

    
Marqus 27.10.2008, 08:00
quelle

3 Antworten

15
%Vor%     
ysth 27.10.2008, 08:10
quelle
1

Abhängig von Ihrer Anwendung und den tatsächlichen Werten Ihrer Fließkommawerte kann es sinnvoll sein, sie mit einer bestimmten Genauigkeit in Rational zu konvertieren. Dann werden sich direkte Vergleiche immer korrekt verhalten, da Rationals nur zwei ganze Zahlen sind.

Wenn Sie beispielsweise wissen, dass Sie mit US-Währungsbeträgen zu tun haben, ermöglicht das Speichern dieser Daten als amount.to_r.round(2) exakte Vergleiche für die Gleichheit.

Nur ein Gedanke ... nicht alle nicht-ganzzahligen Werte müssen inexakt-dargestellte Gleitkommazahlen sein

    
cvkline 22.07.2015 03:45
quelle
0

Sie benötigen möglicherweise auch eine relative Toleranz / Delta-Berechnung

Ссылка

    
Gene T 27.10.2008 17:20
quelle

Tags und Links