Ruby 4.1 リファレンスマニュアル

instance method Complex#to_f

to_f -> FloatRuby 1.9.3 から[permalink][rdoc][edit]
() → Float

self の虚部が IntegerRational のゼロであれば実部を Float に変換して返します。

[EXCEPTION] RangeError:
虚部がゼロでなかったり Float のゼロである場合に発生します。
p (1 + 0i).to_f  # => 1.0
p (1 + 0ri).to_f # => 1.0
変換できない例
# 虚部がゼロでない
(1 + 2i).to_f # ~> RangeError

# 虚部がゼロだが Float の 0.0 である
(1 + 0.0i).to_f # ~> RangeError