JSは2つの数値インスタンスの大きさを比較します

高洛峰
リリース: 2016-12-05 11:46:44
オリジナル
2018 人が閲覧しました

一般:

if(2 > 10)
{
alert("不正确!");
}
ログイン後にコピー

この比較は望ましい結果ではありません。これは 2 > 1 に相当し、10 の最初の桁を取り出して比較します。

解決策:

if(eval(2) > eval(10))
{
alert("不正确!");
}
ログイン後にコピー

eval() 関数は、特定のオブジェクトを参照せずにコード文字列を評価するために使用されます。

<script> 
 function  check() 
 { 
 var  num1=document.form1.num1.value; 
 var  num2=document.form1.num2.value; 
 if(num2>num1)  <!-错误写法-->
 { 
 alert(&#39;num2  >  num1!&#39;); 
 return  false; 
 } 
 return  true; 
 } 
 </script>
 
 
<script> 
 function  check() 
 { 
 var  num1=document.form1.num1.value; 
 var  num2=document.form1.num2.value; 
 if(parseInt(num2)>parseInt(num1))  <!-正确写法(转换成INT)-->
 { 
 alert(&#39;num2  >  num1!&#39;); 
 return  false; 
 } 
 return  true; 
 } 
 </script>
ログイン後にコピー

例:

110 と 18 は、あなたが書いたプログラムでは 18 です。なぜなら、

これら 2 つの数値は両方とも文字列であり、1 と 1 が等しい後、1 と 8 を比較します。もちろん 8 は大きいからです。なので、18 は大きいです

比較する前に INT 型に変換します

if(parseInt(num2)>parseInt(num1))


関連ラベル:
js
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート