# 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