Maison >interface Web >js tutoriel >Comment vérifier si deux nombres sont approximativement égaux en JavaScript ?
Dans ce tutoriel, nous vérifierons si deux nombres sont approximativement égaux. Si les deux nombres donnés sont égaux, nous imprimerons oui, sinon non.
Mais laissez-moi être clair, nous ne faisons aucune magie ici, en gros nous devons aussi donner une valeur epsilon.
Ainsi, lorsque nous calculons la différence absolue entre ces deux nombres et que nous comparons ensuite avec epsilon, si la différence absolue est inférieure à epsilon, alors les deux nombres sont approximativement égaux, sinon ils ne le sont pas. Supposons que les deux nombres donnés soient 6,79 et 6,75, epsilon vaut 0,05, donc nous calculons d'abord la différence absolue, le résultat est abs (6,79-6,75)=0,04, ce qui est inférieur à la valeur epsilon, donc les nombres sont approximativement égaux.
Vous vous demandez peut-être pourquoi est-ce absolu ?
Donc, c'est le cas où la première valeur que nous voulons soustraire est la valeur minimale et la valeur que nous voulons soustraire est la valeur minimale, alors dans ce cas la différence sera négative et ne recevra pas le résultat souhaité . Ainsi, en prenant la valeur absolue, nous pouvons nous débarrasser de ce problème.
Prenons un exemple
Input: Value1= 2.03 Value2= 2.01 Epsilon= 0.01 Output: Approximately NOT equal
Lorsque nous calculons la différence absolue entre deux nombres, elle sera de 0,02 et la valeur epsilon donnée est de 0,01, donc notre différence absolue est supérieure à la valeur epsilon, elle n'est donc pas approximativement égale.
Ce qui suit est la syntaxe/pseudocode pour vérifier si deux nombres sont approximativement égaux -
Const difference= Math.abs(val1-val2); if(difference<epsilon){ approximately equal } else { Aapproximately NOT equal }
Incorporons le code de la fonction dans le code HTML pour vérifier son fonctionnement dans le monde réel. Essayez de saisir différents nombres et valeurs epsilon pour vérifier différentes situations.
<!DOCTYPE html> <html> <body> <h1>Approximately Equal?</h1> <input type="number" id="val1" placeholder="Enter number1.." /><br><br> <input type="number" id="val2" placeholder="Enter number2.." /><br><br> <input type="number" id="epsilon" placeholder="Enter max epsilon.." /><br><br> <input type="button" value="IsEqual?" onClick="checkIf_approx_equal()" style="color: blue; margin-left: 35px;"/> <h2 id="writeHere"></h2> <script> function checkIf_approx_equal(){ var val1=document.getElementById("val1").value var val2=document.getElementById("val2").value var epsilon=document.getElementById("epsilon").value var difference= Math.abs(val1-val2); console.log(difference) if(difference<epsilon){ document.getElementById('writeHere').innerHTML="Yes Approximately Equal" } else { document.getElementById('writeHere').innerHTML="No Approximately NOT Equal" } } </script> </body> </html>
On peut aussi définir notre hypothèse epsilon, si l'utilisateur ne veut donner aucune valeur epsilon, alors il faut récupérer la valeur epsilon et vérifier si l'utilisateur a rentré ces deux valeurs, car il faut donner ces deux nombres .
Dans le programme suivant, nous vérifions si les nombres sont approximativement égaux. Nous avons optimisé le code pour afficher un message lorsque l'utilisateur n'a saisi aucun ou les deux chiffres.
<!DOCTYPE html> <html> <body> <h1>Approximately Equal?</h1> <input type="number" id="val1" placeholder="Enter number1.." /><br><br> <input type="number" id="val2" placeholder="Enter number2.." /><br><br> <input type="number" id="epsilon" placeholder="Enter max epsilon.." /><br><br> <input type="button" value="IsEqual?" onClick="checkIf_approx_equal()" style="color: blue; margin-left: 35px;"/> <h2 id="writeHere"></h2> <script> function checkIf_approx_equal(){ var val1=document.getElementById("val1").value var val2=document.getElementById("val2").value var epsilon=document.getElementById("epsilon").value if(!val1){ document.getElementById('writeHere').innerHTML="Please enter a value in first Box" return; } if(!val2){ document.getElementById('writeHere').innerHTML="Please enter a value in second Box" return; } if(!epsilon) epsilon=1.5 var difference= Math.abs(val1-val2); console.log(difference) if(difference<epsilon){ document.getElementById('writeHere').innerHTML="Equal" } else { document.getElementById('writeHere').innerHTML="Not Equal" } } </script> </body> </html>
Veuillez vérifier les différentes valeurs du numéro 1 et du numéro 2. Essayez de vérifier sans entrer aucun ou les deux chiffres. Puisque nous définissons la valeur par défaut d'epsilon sur 1,5 au cas où l'utilisateur ne la saisirait pas, cela fonctionnera avec cette valeur.
Nous avons donc vu un moyen de vérifier si deux nombres sont approximativement égaux.
>Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!