整数を浮動小数点数に変換するには、関数 float を使用します。
これは number を浮動小数点数に変換して返します。number が既に浮動小数点数である場合、float
はそのまま返します。
浮動小数点数を整数に変換する関数が4つあり、それぞれ丸め方が異なります。いずれの関数も引数 number
と、省略可能な引数 divisor
を取ります。どちらの引数も整数または浮動小数点数を指定できます。divisor は nil としても構いません。divisor が nil であるか、あるいは省略されている場合、これらの関数は number を整数に変換し、すでに整数である場合はそのまま返します。divisor が nil 以外の場合、number を divisor
で除算し、その結果を整数に変換します。divisor が
0(整数か浮動小数点数かを問わず)の場合、Emacs は arith-error
エラーを発生させます。
これは number を返し、ゼロ方向への丸めによって整数に変換されます。
(truncate 1.2)
⇒ 1
(truncate 1.7)
⇒ 1
(truncate -1.2)
⇒ -1
(truncate -1.7)
⇒ -1
これは number を返し、切り捨て(負の無限大方向)によって整数に変換されます。
divisor が指定された場合、これは mod
に対応する除算演算(切り捨て)を用います。
(floor 1.2)
⇒ 1
(floor 1.7)
⇒ 1
(floor -1.2)
⇒ -2
(floor -1.7)
⇒ -2
(floor 5.99 3)
⇒ 1
これは number を返し、切り上げ(正の無限大方向)によって整数に変換されます。
(ceiling 1.2)
⇒ 2
(ceiling 1.7)
⇒ 2
(ceiling -1.2)
⇒ -1
(ceiling -1.7)
⇒ -1
これは number を返し、最も近い整数への丸め処理によって整数に変換されます。2つの整数の中間に位置する値を丸めると、偶数が返されます。
(round 1.2)
⇒ 1
(round 1.7)
⇒ 2
(round -1.2)
⇒ -1
(round -1.7)
⇒ -2