小数点以下を四捨五入
数値(数字)の小数点以下を四捨五入するには、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
- ※ 浮動小数点の調整が入る現象は考慮していません。