目次
アルゴリズム
例 2
ホームページ ウェブフロントエンド jsチュートリアル JavaScript で 2 つの数値がほぼ等しいかどうかを確認するにはどうすればよいですか?

JavaScript で 2 つの数値がほぼ等しいかどうかを確認するにはどうすればよいですか?

Sep 12, 2023 pm 10:29 PM

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

このチュートリアルでは、2 つの数値がほぼ等しいかどうかを確認します。指定された 2 つの数値が等しい場合は、yes が出力され、そうでない場合は no が出力されます。

しかし、はっきりさせておきますが、ここでは魔法を行っているわけではありません。基本的にはイプシロン値も指定する必要があります。

したがって、これら 2 つの数値の差の絶対値を計算し、イプシロンと比較すると、絶対差がイプシロンより小さい場合、2 つの数値はほぼ等しくなりますが、そうでない場合は等しくありません。与えられた 2 つの数値が 6.79 と 6.75 であると仮定すると、イプシロンは 0.05 であるため、最初に絶対差を計算します。結果は abs (6.79-6.75)=0.04 となり、これはイプシロン値より小さいため、数値はほぼ等しくなります。

なぜ絶対に?と思うかもしれません。

つまり、これは、減算する最初の値が最小値であり、減算する値が最小値である場合です。この場合、差は負になり、負にはなりません。必要な出力を与えます。したがって、絶対値を取得することで、この問題を解決できます。

例を挙げてみましょう

Input:
   Value1= 2.03
   Value2= 2.01
   Epsilon= 0.01
Output:
   Approximately NOT equal
ログイン後にコピー

2 つの数値間の絶対差を計算すると、それは 0.02 となり、指定されたイプシロン値は 0.01 となるため、絶対差はイプシロン値よりも大きくなります。ほぼ等しいわけではありません。

構文

次は、2 つの数値がほぼ等しいかどうかを確認するための構文/疑似コードです -

Const difference= Math.abs(val1-val2);
if(difference<epsilon){
   approximately equal
} else {
   Aapproximately NOT equal
}
ログイン後にコピー

アルゴリズム

  • # 1 ステップ - ユーザーからの 2 つの数値とイプシロン値を入力します。これらの値をそれぞれ変数 val1、val2、epsilon に割り当てます。
  • ステップ 2 - 2 つの数値 val1 と val2 の間の絶対差を計算します。この差を変数の差に代入します。
  • ステップ 3 - 差がイプシロン未満であるかどうかを確認します。 true の場合、2 つの数値がほぼ等しいことを示す正しいメッセージが表示されます。 false の場合、数値がほぼ等しくないという正しいメッセージが表示されます。

例 1

関数コードを HTML コードに埋め込んで、実際の動作を確認してみましょう。さまざまな数値とイプシロン値を入力して、さまざまな状況を確認してみてください。

<!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>
ログイン後にコピー

イプシロン仮説を定義することもできます。ユーザーがイプシロン値を指定したくない場合は、イプシロン値を取得して、ユーザーがこれら 2 つの値を入力したかどうかを確認する必要があります。これは必要なためです。

例 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(&#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>
ログイン後にコピー

1番と2番の値の違いを確認してください。どちらかまたは両方の番号を入力せずに確認してみてください。ユーザーが入力しない場合に備えてイプシロンのデフォルト値を 1.5 に設定しているため、その値で動作します。

ということで、2 つの数値がほぼ等しいかどうかを確認する方法を見てきました。

>

以上がJavaScript で 2 つの数値がほぼ等しいかどうかを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

フロントエンドのサーマルペーパーレシートのために文字化けしたコード印刷に遭遇した場合はどうすればよいですか? フロントエンドのサーマルペーパーレシートのために文字化けしたコード印刷に遭遇した場合はどうすればよいですか? Apr 04, 2025 pm 02:42 PM

フロントエンドのサーマルペーパーチケット印刷のためのよくある質問とソリューションフロントエンド開発におけるチケット印刷は、一般的な要件です。しかし、多くの開発者が実装しています...

誰がより多くのPythonまたはJavaScriptを支払われますか? 誰がより多くのPythonまたはJavaScriptを支払われますか? Apr 04, 2025 am 12:09 AM

スキルや業界のニーズに応じて、PythonおよびJavaScript開発者には絶対的な給与はありません。 1. Pythonは、データサイエンスと機械学習でさらに支払われる場合があります。 2。JavaScriptは、フロントエンドとフルスタックの開発に大きな需要があり、その給与もかなりです。 3。影響要因には、経験、地理的位置、会社の規模、特定のスキルが含まれます。

javascriptの分解:それが何をするのか、なぜそれが重要なのか javascriptの分解:それが何をするのか、なぜそれが重要なのか Apr 09, 2025 am 12:07 AM

JavaScriptは現代のWeb開発の基礎であり、その主な機能には、イベント駆動型のプログラミング、動的コンテンツ生成、非同期プログラミングが含まれます。 1)イベント駆動型プログラミングにより、Webページはユーザー操作に応じて動的に変更できます。 2)動的コンテンツ生成により、条件に応じてページコンテンツを調整できます。 3)非同期プログラミングにより、ユーザーインターフェイスがブロックされないようにします。 JavaScriptは、Webインタラクション、シングルページアプリケーション、サーバー側の開発で広く使用されており、ユーザーエクスペリエンスとクロスプラットフォーム開発の柔軟性を大幅に改善しています。

JavaScriptを使用して、同じIDを持つArray要素を1つのオブジェクトにマージする方法は? JavaScriptを使用して、同じIDを持つArray要素を1つのオブジェクトにマージする方法は? Apr 04, 2025 pm 05:09 PM

同じIDを持つ配列要素をJavaScriptの1つのオブジェクトにマージする方法は?データを処理するとき、私たちはしばしば同じIDを持つ必要性に遭遇します...

Shiseidoの公式Webサイトのように、視差スクロールと要素のアニメーション効果を実現する方法は?
または:
Shiseidoの公式Webサイトのようにスクロールするページを伴うアニメーション効果をどのように実現できますか? Shiseidoの公式Webサイトのように、視差スクロールと要素のアニメーション効果を実現する方法は? または: Shiseidoの公式Webサイトのようにスクロールするページを伴うアニメーション効果をどのように実現できますか? Apr 04, 2025 pm 05:36 PM

この記事の視差スクロールと要素のアニメーション効果の実現に関する議論では、Shiseidoの公式ウェブサイト(https://www.shisido.co.co.jp/sb/wonderland/)と同様の達成方法について説明します。

JavaScriptは学ぶのが難しいですか? JavaScriptは学ぶのが難しいですか? Apr 03, 2025 am 12:20 AM

JavaScriptを学ぶことは難しくありませんが、挑戦的です。 1)変数、データ型、関数などの基本概念を理解します。2)非同期プログラミングをマスターし、イベントループを通じて実装します。 3)DOM操作を使用し、非同期リクエストを処理することを約束します。 4)一般的な間違いを避け、デバッグテクニックを使用します。 5)パフォーマンスを最適化し、ベストプラクティスに従ってください。

フロントエンド開発でVSCodeと同様に、パネルドラッグアンドドロップ調整機能を実装する方法は? フロントエンド開発でVSCodeと同様に、パネルドラッグアンドドロップ調整機能を実装する方法は? Apr 04, 2025 pm 02:06 PM

フロントエンドのVSCodeと同様に、パネルドラッグアンドドロップ調整機能の実装を調べます。フロントエンド開発では、VSCODEと同様のVSCODEを実装する方法...

Console.log出力の違い結果:なぜ2つの呼び出しが異なるのですか? Console.log出力の違い結果:なぜ2つの呼び出しが異なるのですか? Apr 04, 2025 pm 05:12 PM

Console.log出力の違いの根本原因に関する詳細な議論。この記事では、Console.log関数の出力結果の違いをコードの一部で分析し、その背後にある理由を説明します。 �...

See all articles