Skip to content

End of Life Ruby 3.2 has reached end of life and gets no more fixes. Switch to Ruby 4.0 →

instance method

String#to_c

str.to_c → complex

Returns a complex which denotes the string form. The parser ignores leading whitespaces and trailing garbage. Any digit sequences can be separated by an underscore. Returns zero for null or garbage string.

Example
'9'.to_c           #=> (9+0i)
'2.5'.to_c         #=> (2.5+0i)
'2.5/1'.to_c       #=> ((5/2)+0i)
'-3/2'.to_c        #=> ((-3/2)+0i)
'-i'.to_c          #=> (0-1i)
'45i'.to_c         #=> (0+45i)
'3-4i'.to_c        #=> (3-4i)
'-4e2-4e-2i'.to_c  #=> (-400.0-0.04i)
'-0.0-0.0i'.to_c   #=> (-0.0-0.0i)
'1/2+3/4i'.to_c    #=> ((1/2)+(3/4)*i)
'ruby'.to_c        #=> (0+0i)

Polar form:

Example
include Math
"1.0@0".to_c        #=> (1+0.0i)
"1.0@#{PI/2}".to_c  #=> (0.0+1i)
"1.0@#{PI}".to_c    #=> (-1+0.0i)

See Kernel.Complex.

See also #swapcase! #to_d #swapcase #toeuc also in 4.1 · 4.0 · 3.4 · 3.3 · 3.1 · 3.0