JavaScript - 小数点以下の切り捨てはtrunc()がおすすめ
JavaScriptで小数点以下を切り捨てる場合は、 ES2015で新しく追加されたtrunc()メソッドがおすすめです。
ES2015以前ではfloor()を用いていた方が多いと思います。
ですが、floor()は単純な切り捨てではないため、 負数の場合はceil()メソッドを用いるなどの配慮が必要でした。
一方、新しく追加されてた trunc()メソッドは、 単純な小数点以下の切り捨て(整数部分の取り出し)なので、 負数を考慮する必要がありません。
trunc()による小数点以下の切り捨て
次のサンプルコードは、trunc()を使って小数点以下を切り捨てています。
単純な小数点以下の切り捨てなので、負数の場合も整数部分を取り出してくれます。
// 正数
console.log(Math.trunc(3.25)); // -3
console.log(Math.trunc(3.79)); // -3
// 負数
console.log(Math.trunc(-3.25)); // -3
console.log(Math.trunc(-3.79)); // -3
ES2015以前の floor()メソッドの場合
floor()メソッドの場合は、単純な小数点以下の切り捨てではないため、 次のサンプルコードのように負数がうまく取得できません。
関連記事: 小数点以下の切り捨て floor() は負数に注意
// 正数
console.log(Math.floor(3.25)); // -3
console.log(Math.floor(3.79)); // -3
// 負数
console.log(Math.floor(-3.25)); // -4
console.log(Math.floor(-3.79)); // -4
負数の場合、ceil()メソッドを使うとうまく取得できます。
// 負数
console.log(Math.ceil(-3.25)); // -3
console.log(Math.ceil(-3.79)); // -3
このように、小数点以下の切り捨てはfloor()を使うよりも、trunc()メソッドを使った方が簡単なので、ES2015の環境が利用できる場合は trunc()メソッドがおすすめです。