diff --git a/src/sage/rings/complex_number.pyx b/src/sage/rings/complex_number.pyx index c0b0ed25b72..2d9ecfee2e7 100644 --- a/src/sage/rings/complex_number.pyx +++ b/src/sage/rings/complex_number.pyx @@ -2481,11 +2481,18 @@ def create_ComplexNumber(s_real, s_imag=None, int pad=0, min_prec=53): False sage: sage.rings.complex_number.create_ComplexNumber(0,s).imag()-1 == 0 False + sage: sage.rings.complex_number.create_ComplexNumber(complex('13.8+6.2j')) == CC(complex('13.8+6.2j')) + True """ if s_imag is None: s_imag = 0 + if isinstance(s_real, complex): + from .complex_field import ComplexField + C = ComplexField(prec=min_prec) + return C(s_real.real, s_real.imag) + if not isinstance(s_real, str): s_real = str(s_real).strip() if not isinstance(s_imag, str):