⬅️

【JavaScript】その Math.floor の使い方あってますか?

2023/08/09に公開

結論 3 行

  • 切り捨て: Math.trunc(1.3) → 1、 Math.trunc(-1.3) → -1
  • 切り下げ: Math.floor(1.3) → 1、 Math.floor(-1.3) → -2
  • 切り上げ: Math.ceil(1.3) → 2、 Math.ceil(-1.3) → -1

突然ですが問題です

以下を実行すると得られる値はいくつでしょうか?

Math.floor(-1.3)

-1 と答えたそこのあなた、Math.floor を切り捨てメソッドと勘違いしている可能性があります。

-2 と答えたそこのあなた、この記事はあなたにとって必要の無いものです。お目汚し失礼しました。

勘違いするのもしょうがない

だって javascript 切り捨て で検索すると、どの記事も Math.floor を切り捨てで紹介してるんだもの。

(ファーストビューの記事は全滅。名誉保護のためモザイクをかけております)

Math.floor は切り下げメソッド

Math.floor は切り下げなので 1.3 は 1 になり、-1.3 は -2 になります。

切り捨てしたい場合は Math.trunc

1.3 は 1 に、-1.3 は -1 にしたいといった場合は Math.trunc を使うと良いです。
参考: https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc

まとめ

Math.floor は切り下げメソッドのため、-1.3 は -2 になる。
勘違いして利用していた場合は、一度利用個所を見直してみると良いかもしれません。

Discussion