2010-11-24 23 views
1

ich habe zwei doppelte Werte.Wie man einen Wert manipuliert?

Eins ist 103,4738 und ein anderes ist 103,4728, da sie nur 0,001 sind.

Gibt es eine JavaScript-Funktion/Weise, die ich tun kann, um den Wert zu überprüfen .. was bedeutet, wenn der Wert +/- 0,0005 ist, wäre es ein Pass ... und wenn nicht, wäre es ein Fehler?

Dank ~

Antwort

5

Eine Möglichkeit ist, zu subtrahieren, und sehen Sie den Unterschied

var diff = number1 - number2; 
if (Math.abs(diff) <= 0.0005) { 
    // Pass 
    ... 
} else { 
    // Fail 
} 

Hinweis: Je nach Wert als die Bar gewählt zu treffen (in diesem Fall 0,0005) Sie in subtile Runden laufen können Fehler wegen der Art der Gleitkommazahlen. Wenn Sie nicht vertraut mit dieser sind möchten Sie vielleicht die folgende

+0

schlug mich zu es ... – Ahmad

+0

ohh ok .. Dank viel zu lesen. wusste nicht, dass es nur ein paar Zeilen Code sein wird :) – Dayzza

0
var diff = Num1-Num2; 
var status = (Math.abs(diff) <= 5*Math.pow(10,-5)) ? true : false; 
+0

Entschuldigung zu fragen, aber, was macht diese Codezeile? :) 5 * Math.pow (10, -5) – Dayzza

+1

5 * Math.pow (10, -5) = 0,0005. Ich habe es getan, um es allgemeiner zu machen, und wenn nötig, kann man diese Konstante in Zukunft ändern – Pratik

Verwandte Themen