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

在本教程中,我们将检查两个数字是否近似相等。如果给定的两个数字相等,那么我们将打印 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
}

算法

  • 第1步 – 从用户处输入两个数字和epsilon值。将这些值分别分配给变量 val1、val2、epsilon。
  • 第 2 步 – 计算两个数字 val1 和 val2 之间的绝对差。将此差异分配给变量差异。
  • 步骤 3 – 检查差异是否小于 epsilon。如果为真,则显示正确的消息,说明两个数字大约相等。如果为 false,则显示数字不近似相等的正确消息。

示例 1

让我们将函数代码嵌入到 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 值并检查用户是否输入了这两个值,因为有必要给出这两个数字.

示例 2

在下面的程序中,我们检查数字是否近似相等。我们优化了代码,以便在用户未输入任何或两个数字时显示消息。

<!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 中检查两个数字近似相等?的详细内容,更多请关注双恒网络其它相关文章!

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
8. 精力有限,不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别
9.本站默认解压密码为:www.sudo1.com
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。
本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。
我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!

云资源网 » 如何在 JavaScript 中检查两个数字近似相等?

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
提示下载完但解压或打开不了?
最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或 联络我们.。
你们有qq群吗怎么加入?
当然有的,如果你是帝国cms、易优cms、和pbootcms系统的爱好者你可以加入我们的QQ千人交流群https://www.sudo1.com/page-qun.html。
  • 会员数(个)
  • 12278资源数(个)
  •        
  • 资源(G)
  •        
  • 今日下载
  • 1369稳定运行(天)

提供最优质的资源集合

立即查看 了解详情