Table of Contents
多くのプログラミング言語で、数値の切り捨ては floor
, 切り上げは ceil
という関数で実現できるようになっています。 これをなかなか覚えられないという方もいると思いますので、確実に思い出せるようにするために、その理由を解説しました。
コード例
まずは実際に、各プログラミング言語で切り捨て・切り上げがどのように行われるのか紹介します。
Kotlin
Kotlin 1.3.11 のコードです。
Python
Python 3.6.5 のコードです。
Ruby
Ruby 2.5.1 のコードです。
PHP
PHP 7.2.9 のコードです。
JavaScript
NodeJS 10.9.0 のコードです。
Haskell
Haskell 8.0.1 のコードです。 main
関数として書いたので print
を使っていますが、 切り捨ては floor
, 切り上げは ceiling
です。
なぜ floor, ceiling なのか
floor, ceil, ceiling の意味を確認してみましょう。
単語 | 動詞としての意味 | 名詞としての意味 |
---|---|---|
floor | 床に押し付ける | 床 |
ceil | 天井を張る | – |
ceiling | – | 天井 |
床と天井、要するに、下と上です。 floor
で下へ押し下げ、 ceil
で上に押し上げるんですね。 1.3 は floor
で下 すなわち 1.3 以下の整数値になり(切り捨て)、 ceil
で上 すなわち 1.3 以上の整数値になります(切り上げ)。
フロアは日本語(外来語)としても馴染みがありますね。 ceil (ceiling) は、シーリングファンなどで日本語にも入ってきています。
また、 ceiling は、 Tea party on the ceiling!
というセリフで メリー・ポピンズ の中で使われていました。
実際に切り捨て・切り上げは英語でなんというのか
英語での表現はひとつではないですが、 round down/up がわかりやすいと思います。
- 切り捨てる
-
- round down/downwards
- disregard
- drop
- discard
- cut off
- omit
- 切り上げる
-
- round up/upwards
- raise
floor, ceil は使いません。
こういうのは疑問が出てきたときにすぐ調べられるよう、電子辞書を携帯しておくと便利です。