isFinite関数

広告

対象の数値が有限の値かそれとも無限大の値かどうかを調べるにはisFinite関数を使います。

数値が有限値が無限大の値かを調べます。

パラメータ:
  num  対象の数値
戻り値:
  対象の数値が有限値ならtrue, それ以外ならfalse

引数に指定した数値が有限の値なのか無限大の値なのかを調べ、有限の値であればtrueを返し、それ以外の場合はfalseを返します。

isFinite(10)        -->  true
isFinite(3.14)      -->  true
isFinite(2.4e-3)    -->  true

無限大を表すInfinityや負の無限大を表す-Infinityはfalseを返します。

isFinite(Infinity)  -->  false
isFinite(-Infinity) -->  false

Numberクラスで定義されている下記の定数についてはNumber.MAX_VALUEとNumber.MIN_VALUEはtrueを返します。

isFinite(Number.POSITIVE_INFINITY)  -->  false
isFinite(Number.NEGATIVE_INFINITY)  -->  false
isFinite(Number.MAX_VALUE)          -->  true
isFinite(Number.MIN_VALUE)          -->  true

非数を表すNaNについてはfalseを返します。

isFinite(NaN)       -->  false
サンプルコード

では簡単なサンプルで試してみます。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>JavaScript テスト</title>
</head>
<body>

<script type="text/javascript" src="./js/script4_1.js">
</script>

</body>
</html>
function finiteCheck(val){
  if (isFinite(val)){
    document.write("○ " + val + "<br />");
  }else{
    document.write("× " + val + "<br />");
  }
}

document.write("<p>");
document.write("isFinite?<br />");

finiteCheck(10);
finiteCheck(3.14);
finiteCheck(2.4e-3);
finiteCheck(Infinity);
finiteCheck(-Infinity);
finiteCheck(Number.POSITIVE_INFINITY);
finiteCheck(Number.NEGATIVE_INFINITY);
finiteCheck(Number.MAX_VALUE);
finiteCheck(Number.MIN_VALUE);
finiteCheck(NaN);

document.write("</p>");

上記を実際にブラウザ見てみると次のように表示されます。

p4-1

( Written by Tatsuo Ikura )