JavaScriptで取得した数値を整数として取得するため小数点以下を削除したいことがある。例えば12.34を12にするなどだ。 この際にfloorを使用されているケースが非常に多いのだがfloorは小数点切り捨てではなく小数点切り下げなので使用してはいけない。 小数点切り捨てと切り下げの違い 小数点切り捨てとは1.5なら1、-1.5なら-1のように小数点以下を削除することだが切り下げは指定された基準値1の倍数になるように、最も近い値に数値を切り捨てます。 そのためMath.floor(1.5)は1になりますがMath.floor(-1.5)は-2になります。 console.log(Math.floor(12.34)); // => 12 console.log(Math.floor(56.78)); // => 56 console.log(Math.floor(1.5)); // =
![JavaScriptのfloorは小数点切り下げで切り捨てではない](https://cdn-ak-scissors.b.st-hatena.com/image/square/52e7bedc8a8782a55beb27aacbea0935baa0d580/height=288;version=1;width=512/https%3A%2F%2Fiwb.jp%2Fwp-content%2Fuploads%2F2017%2F01%2Fjavascript-trunc-decimal-point.png)