在本教程中,我們將檢查兩個數字是否近似相等。如果給定的兩個數字相等,那麼我們將列印 yes,否則則不是。
但讓我明確一下,我們不會在這裡做任何魔術,基本上我們還必須給出一個 epsilon 值。
因此,當我們計算這兩個數字之間的絕對差,然後與 epsilon 進行比較時,如果絕對差小於 epsilon,則兩個數字近似相等,否則不近似相等。假設給出的兩個數字是6.79 和6.75,epsilon 為0.05,因此我們首先計算絕對差,結果為abs (6.79-6.75)=0.04,它小於epsilon 值,因此數字近似相等.
您可能會想為什麼是絕對的?
所以,這是在我們要從中減去的第一個值是最小值並且我們要減去的值是最小值的情況下,那麼在這種情況下差異將為負,並且不會給出所需的輸出。所以,透過取絕對值我們可以擺脫這個問題。
讓我們舉個例子
Input: Value1= 2.03 Value2= 2.01 Epsilon= 0.01 Output: Approximately NOT equal
當我們計算兩個數字之間的絕對差時,它將是0.02,而給定的epsilon 值是0.01,因此我們的絕對差大於epsilon 值,因此它不近似相等。
以下是檢查兩個數字是否近似相等的語法/偽代碼-
Const difference= Math.abs(val1-val2); if(difference<epsilon){ approximately equal } else { Aapproximately NOT equal }
讓我們將函數程式碼嵌入到 HTML 程式碼中以檢查現實世界的工作情況。嘗試輸入不同的數字和 epsilon 值來檢查不同的情況。
<!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>
我們也可以定義我們的epsilon 假設,如果使用者不想給出任何epsilon 值,那麼我們必須取得epsilon 值並檢查使用者是否輸入了這兩個值,因為有必要給出這兩個數字.
在下面的程式中,我們檢查數字是否近似相等。我們優化了程式碼,以便在用戶未輸入任何或兩個數字時顯示訊息。
<!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>
請檢查數字 1 和數字 2 的不同值。嘗試在不輸入任何或兩個數字的情況下進行檢查。由於我們將 epsilon 的預設值設為 1.5,以防使用者不輸入,因此它將使用該值進行工作。
因此,我們看到了檢查兩個數字是否近似相等的方法。
>以上是如何在 JavaScript 中檢查兩個數字近似相等?的詳細內容。更多資訊請關注PHP中文網其他相關文章!