JavaScriptで数値がfloat(浮動小数点数)か整数(integer)かを判定する方法
JavaScriptでは、変数に格納された数値が「整数(integer)」なのか「浮動小数点数(float)」なのかを判別したい場面があります。たとえば、次のような変数を考えてみましょう。
var value1 = 10; var value2 = 10.15;
判定方法:Number() と剰余演算子(%)を組み合わせる
数値がfloatかどうかを判定するには、Number()による型チェックと剰余演算子%を組み合わせた条件式を使用します。
Number(value) === value && value % 1 !== 0;
この条件式の仕組みは以下の通りです。
- Number(value) === value:値が実際に数値型であることを確認します。
- value % 1 !== 0:値を1で割った余りが0でない場合、その値は整数ではなくfloatです。
コード例
以下が実際のコードです。
function checkNumberIfFloat(value) {
return Number(value) === value && value % 1 !== 0;
}
var value1 = 10;
var value2 = 10.15;
if (checkNumberIfFloat(value1) == true)
console.log("The value is float=" + value1);
else
console.log("The value is not float=" + value1);
if (checkNumberIfFloat(value2) == true)
console.log("The value is float=" + value2);
else
console.log("The value is not float=" + value2);上記のプログラムを実行するには、Node.js環境で次のコマンドを使用します。
node fileName.js
ここでは、ファイル名を「demo218.js」として実行します。
実行結果
出力は以下のようになります。
PS C:\Users\Amit\JavaScript-code> node demo218.js The value is not float=10 The value is float=10.15
この結果から、整数の10は「floatではない」と判定され、小数点以下を持つ10.15は「floatである」と正しく判定されていることがわかります。
補足:Number.isInteger() を使う方法
ES6(ECMAScript 2015)以降では、Number.isInteger()メソッドを利用することで、より簡潔に判定することも可能です。
function checkNumberIfFloat(value) {
return Number(value) === value && !Number.isInteger(value);
}Number.isInteger(value)は、引数が整数の場合にtrueを返します。その否定(!)を取ることで、floatかどうかを判定でき、コードの意図も伝わりやすくなります。
-
JavaScriptで入力値が数字か文字かを判定する方法【isNaN()関数の使い方】
入力された値が数字か文字(数値以外)かを判定するには、JavaScriptのisNaN()関数を使用します。この関数は、値がNaN(Not a Number:非数)である場合にtrueを返します。この特性を利用することで、ユーザーが入力した値が数値かどうかを簡単にチェックできます。 isNaN()関数とは isNaN()は「is Not a Number」の略称です。引数として渡された値が数値として解釈できない場合にtrueを、数値として解釈できる場合はfalseを返します。これにより、「入力内容が数字かどうか」をシンプルに判定できるのが特徴です。 サンプルコード 以下のコードでは、フォームの
-
Pythonでfloat値が整数かどうかを確認する方法
float.is_integer()メソッドを使う Pythonでfloat値が整数(小数点以下が0の数)かどうかを確認するには、float.is_integer()メソッドを使用します。このメソッドは、対象のfloat値が整数であればTrue、そうでなければFalseを返します。 基本的な使い方 print((10.0).is_integer()) print((15.23).is_integer()) 実行結果は以下の通りです。 True False 負の値や変数での使用例 負のfloat値や、プログラム内の変数に対しても同じように使えます。 num = -7.0 print(num