小数点以下を四捨五入

数値(数字)の小数点以下を四捨五入するには、Math.roundメソッドを使用します。

構文

ES5

var result = Math.round(number);

ES6以降

const result = Math.round(number);
引数名 説明
第一引数
必須
number number 数値

戻り値

四捨五入された数値を返します。

サンプルコード

JavaScript (ES5)

var result1 = Math.round(123.456),
    result2 = Math.round(123.567);

alert(result1); // 123
alert(result2); // 124

JavaScript (ES6以降)

const result1 = Math.round(123.456),
      result2 = Math.round(123.567);

console.log(result1); // 123
console.log(result2); // 124

なお、Math.roundメソッドは桁を指定することができません。
次のようにすることで桁を指定することができるようになります。

JavaScript (ES5)

/**
 * 四捨五入
 * @param {number} num 数値
 * @param {number} digit 基準となる小数点の桁数
 * @return {number} 四捨五入された数値を返す
 */
var round = 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.round(num) : Math.round(num * digit) / digit;
};

alert(round(123.456, 0)); // 123
alert(round(123.456, 2)); // 123.5

JavaScript (ES6以降)

/**
 * 四捨五入
 * @param {number} num 数値
 * @param {number} digit 基準となる小数点の桁数
 * @returns {number} 四捨五入された数値を返す
 */
const round = (num, digit) => {
	if (typeof digit === 'string' && digit.match(/^([0-9]+\.)?[0-9]+$/)) digit = Number(digit);
	if (typeof digit !== 'number') throw '桁の指定が間違っています';
	return digit === 0 ? Math.round(num) : Math.round(num * digit) / digit;
};

console.log(round(123.456, 0)); // 123
console.log(round(123.456, 2)); // 123.5
  • ※ 浮動小数点の調整が入る現象は考慮していません。

JavaScript逆引きリファレンス一覧へ戻る