Excelの数式ROUNDDOWNとJSPのMath.Floorの計算方法差分対応

Microsoft Excel の ROUNDDOWN 関数

数値を指定された桁数で切り捨てます。

ROUNDDOWN(数値, 桁数)

ROUNDDOWN 関数の書式には、次の引数があります。

  • 数値    必須。 切り捨ての対象となる実数値を指定します。

  • 桁数    必須。 数値を切り上げた結果の桁数を指定します。

ROUNDDOWN 関数 (microsoft.com)

 

Math オブジェクトの静的メソッドである Math.round は対象の値の小数点以下を四捨五入します。 Math.ceil は対象の値の小数点以下を切り上げます。 Math.floor は対象の値の小数点以下を切り捨てます。

  1. 小数点以下を四捨五入する(round)
  2. 小数点以下を切り上げる(ceil)
  3. 小数点以下を切り捨てる(floor)

確認用リンク

Math.floor() - JavaScript | MDN (mozilla.org)

 

console.log(Math.floor(5.95));
// expected output: 5

console.log(Math.floor(5.05));
// expected output: 5

console.log(Math.floor(5));
// expected output: 5

console.log(Math.floor(-5.05));
// expected output: -6

 

引数は正数の時、両方の処理は同じ。

負数の場合は差分があります。

 

-5.05

ROUNDDOWN(-5.05)

の結果は

-5

console.log(Math.floor(-5.05));
// expected output: -6

 

対応方法

let tmpNum = -5.05

let absTmpNum = Math.abs(tmpNum)

if(tmpNum >= 0){

 return Math.floor(absTmpNum );

}else{

return -Math.floor(absTmpNum );

}