Bagaimana untuk menyemak sama ada dua nombor adalah lebih kurang sama dalam JavaScript?

PHPz
Lepaskan: 2023-09-12 22:29:02
ke hadapan
1020 orang telah melayarinya

如何在 JavaScript 中检查两个数字近似相等?

Dalam tutorial ini, kami akan menyemak sama ada dua nombor adalah lebih kurang sama. Jika dua nombor yang diberi adalah sama maka kami akan mencetak ya sebaliknya tidak.

Tetapi biar saya jelas, kami tidak melakukan apa-apa sihir di sini, pada asasnya kami juga perlu memberikan nilai epsilon.

Jadi apabila kita mengira perbezaan mutlak antara kedua-dua nombor ini dan kemudian membandingkannya dengan epsilon, jika perbezaan mutlak kurang daripada epsilon, maka kedua-dua nombor adalah lebih kurang sama, jika tidak, mereka tidak lebih kurang sama. Katakan dua nombor yang diberikan ialah 6.79 dan 6.75, epsilon ialah 0.05, jadi kita mula-mula mengira perbezaan mutlak, hasilnya adalah abs (6.79-6.75)=0.04, iaitu kurang daripada nilai epsilon, jadi nombornya lebih kurang sama.# 🎜🎜##🎜 🎜#Anda mungkin terfikir mengapa ia mutlak?

Jadi, ini adalah kes di mana nilai pertama yang ingin kita tolak ialah nilai minimum dan nilai yang ingin kita tolak ialah nilai minimum, maka dalam kes ini perbezaannya akan menjadi negatif, dan tidak memberikan output yang dikehendaki. Jadi, dengan mengambil nilai mutlak kita boleh menyingkirkan masalah ini.

Mari kita ambil contoh

Input:
   Value1= 2.03
   Value2= 2.01
   Epsilon= 0.01
Output:
   Approximately NOT equal
Salin selepas log masuk

Apabila kita mengira perbezaan mutlak antara dua nombor, ia akan menjadi 0.02 dan nilai epsilon yang diberikan ialah 0.01, jadi perbezaan mutlak kita adalah lebih besar daripada nilai epsilon, jadi ia tidak lebih kurang sama.

Syntax

Berikut ialah sintaks/pseudokod untuk menyemak sama ada dua nombor adalah lebih kurang sama -
Const difference= Math.abs(val1-val2);
if(difference<epsilon){
   approximately equal
} else {
   Aapproximately NOT equal
}
Salin selepas log masuk

Algoritma #🎜🎜 #

Langkah 1

- Masukkan dua nombor dan nilai epsilon daripada pengguna. Berikan nilai ini kepada pembolehubah val1, val2, epsilon masing-masing.
  • Langkah 2 - Kira beza mutlak antara dua nombor val1 dan val2. Berikan perbezaan ini kepada perbezaan pembolehubah.
  • Langkah 3 - Semak sama ada perbezaannya kurang daripada epsilon. Jika benar, paparkan mesej yang betul menyatakan bahawa dua nombor adalah lebih kurang sama. Jika palsu, paparkan mesej yang betul bahawa nombornya tidak lebih kurang sama.
  • Contoh 1
  • Mari kita benamkan kod fungsi ke dalam kod HTML untuk menyemak cara ia berfungsi di dunia nyata. Cuba masukkan nombor yang berbeza dan nilai epsilon untuk menyemak situasi yang berbeza.
<!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(&#39;writeHere&#39;).innerHTML="Yes Approximately Equal"
         } else {
            document.getElementById(&#39;writeHere&#39;).innerHTML="No Approximately NOT Equal"
         }
      }
   </script>
</body>
</html>
Salin selepas log masuk

Kita juga boleh menentukan hipotesis epsilon kita, jika pengguna tidak mahu memberikan sebarang nilai epsilon, maka kita perlu mendapatkan nilai epsilon dan menyemak sama ada pengguna telah memasukkan dua nilai ini, kerana ia adalah perlu untuk memberikan Dua nombor ini.

Contoh 2

Dalam atur cara berikut, kami menyemak sama ada nombor itu lebih kurang sama. Kami mengoptimumkan kod untuk memaparkan mesej apabila pengguna belum memasukkan salah satu atau kedua-dua nombor.

<!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(&#39;writeHere&#39;).innerHTML="Please enter a value in first Box"
            return;
         }
         if(!val2){
            document.getElementById(&#39;writeHere&#39;).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(&#39;writeHere&#39;).innerHTML="Equal"
         } else {
            document.getElementById(&#39;writeHere&#39;).innerHTML="Not Equal"
         }
      }
   </script>
</body>
</html>
Salin selepas log masuk

Sila semak nilai berbeza nombor 1 dan nombor 2. Cuba semak tanpa memasukkan mana-mana atau kedua-dua nombor. Memandangkan kami menetapkan nilai lalai epsilon kepada 1.5 sekiranya pengguna tidak memasukkannya, ia akan berfungsi dengan nilai tersebut.

Jadi, kami melihat cara untuk menyemak sama ada dua nombor adalah lebih kurang sama.

>

Atas ialah kandungan terperinci Bagaimana untuk menyemak sama ada dua nombor adalah lebih kurang sama dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!