Edited at

【JavaScript】桁指定して四捨五入・切り上げ・切り捨て

More than 1 year has passed since last update.

よく忘れるので備忘録として。


桁指定しない場合


  • 四捨五入


    • Math.round(<数値>)

      ex1) Math.round(123.456) // 出力:123

      ex2) Math.round(123.567) // 出力:124



  • 切り上げ


    • Math.ceil(<数値>)

      ex1) Math.ceil(123.456) // 出力:124

      ex2) Math.ceil(123.567) // 出力:124



  • 切り捨て


    • Math.floor(<数値>)

      ex1) Math.floor(123.456) // 出力:123

      ex2) Math.floor(123.567) // 出力:123




桁指定

四捨五入・切り上げ・切り捨ての関数は上記の通り、小数点の位置を基準とするので、数値を調整して行う。


  • 小数第一位を基準とした方法

    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;
}

以上。