# File lib/facets/more/quaternion.rb, line 538 def to_s s="" if @re!=0; s=@re.to_s; end if @im!=0; if s==""; s=sprintf("%si", @im); else if @im>0; s=sprintf("%s+%si",s,@im); else s=sprintf("%s-%si",s,-@im); end end end if @jm!=0; if s==""; s=sprintf("%sj", @jm); else if @jm>0; s=sprintf("%s+%sj",s,@jm); else s=sprintf("%s-%sj",s,-@jm); end end end if @km!=0; if s==""; s=sprintf("%sk", @km); else if @km>0; s=sprintf("%s+%sk",s,@km); else s=sprintf("%s-%sk",s,-@km); end end end if s=="" ; s="0"; end; return s end