よく忘れるので備忘録として。
桁指定しない場合
- 四捨五入
- Math.round(<数値>)
ex1) Math.round(123.456) // 出力:123
ex2) Math.round(123.567) // 出力:124
- Math.round(<数値>)
- 切り上げ
- Math.ceil(<数値>)
ex1) Math.ceil(123.456) // 出力:124
ex2) Math.ceil(123.567) // 出力:124
- Math.ceil(<数値>)
- 切り捨て
- Math.floor(<数値>)
ex1) Math.floor(123.456) // 出力:123
ex2) Math.floor(123.567) // 出力:123
- Math.floor(<数値>)
桁指定
四捨五入・切り上げ・切り捨ての関数は上記の通り、小数点の位置を基準とするので、数値を調整して行う。
- 小数第一位を基準とした方法
Math.round(123.456 * 10) / 10 // 出力:123.5 - 十の位を基準とした方法
Math.round(123.456 / 10) * 10 // 出力:120
関数にしてみる
/**
* 任意の桁で四捨五入する関数
* @param {number} value 四捨五入する数値
* @param {number} base どの桁で四捨五入するか(10→10の位、0.1→小数第1位)
* @return {number} 四捨五入した値
*/
function orgRound(value, base) {
return Math.round(value * base) / base;
}
/**
* 任意の桁で切り上げする関数
* @param {number} value 切り上げする数値
* @param {number} base どの桁で切り上げするか(10→10の位、0.1→小数第1位)
* @return {number} 切り上げした値
*/
function orgCeil(value, base) {
return Math.ceil(value * base) / base;
}
/**
* 任意の桁で切り捨てする関数
* @param {number} value 切り捨てする数値
* @param {number} base どの桁で切り捨てするか(10→10の位、0.1→小数第1位)
* @return {number} 切り捨てした値
*/
function orgFloor(value, base) {
return Math.floor(value * base) / base;
}
以上。