小数点以下を切り捨て
数値(数字)の小数点以下を切り捨てるには、Math.floor
メソッドを使用します。
構文
ES5
var result = Math.floor(number);
ES6以降
const result = Math.floor(number);
引数名 | 型 | 説明 | |
---|---|---|---|
第一引数 必須 |
number | number | 数値 |
戻り値
切り捨てられた数値を返します。
引数に数字以外の文字列が含まれた場合はNaNを返します。
また、0から始まる数字の場合は、数値として変換され0が削除された値を返します。
サンプルコード
JavaScript (ES5)
var result = Math.floor(123.456);
alert(result); // 123
JavaScript (ES6以降)
const result = Math.floor(123.456);
console.log(result); // 123
なお、Math.floorメソッドは桁を指定することができません。
次のようにすることで桁を指定することができるようになります。
JavaScript (ES5)
/**
* 切り捨て
* @param {number} num 数値
* @param {number} digit 基準となる桁
* @return {number} 切り捨てされた数値を返す
*/
var floor = function(num, digit) {
if (typeof digit === 'string' && digit.match(/^([0-9]+\.)?[0-9]+$/)) digit = Number(digit);
if (typeof digit !== 'number') throw '桁の指定が間違っています';
return digit === 0 ? Math.floor(num) : Math.floor(num / digit) * digit;
};
alert(floor(123.456, 0));
alert(floor(123.456, 1));
JavaScript (ES6以降)
/**
* 切り捨て
* @param {number} num 数値
* @param {number} digit 基準となる桁
* @returns {number} 切り捨てされた数値を返す
*/
const floor = (num, digit) => {
if (typeof digit === 'string' && digit.match(/^([0-9]+\.)?[0-9]+$/)) digit = Number(digit);
if (typeof digit !== 'number') throw '桁の指定が間違っています';
return digit === 0 ? Math.floor(num) : Math.floor(num / digit) * digit;
};
console.log(floor(123.456, 0));
console.log(floor(123.456, 1));
- ※ 浮動小数点の調整が入る現象は考慮していません。