Id say the best way to do it is as such
x = (1.542334+32.5322j)
x = complex(round(x.real),round(x.imag))
if you don't want to repeat that every time you want to do it, you could put it in a function.
def round_complex(x):
return complex(round(x.real),round(x.imag))
Additional optional arguments can then be added to this, so if you only want to round one part for example, or if you only want to round to a certain number of decimal places on either the real or complex part
def round_complex(x, PlacesReal = 0, PlacesImag = 0, RoundImag = True, RoundReal = True):
if RoundImag and not RoundReal:
return complex(x.real,round(x.imag,PlacesImag))
elif RoundReal and not RoundImag:
return complex(round(x.real,PlacesReal),x.imag)
else: #it would be a waste of space to make it do nothing if you set both to false, so it instead does what it would if both were true
return complex(round(x.real,PlacesReal),round(x.imag,PlacesImag))
as the variables are auto set to true or 0, you don't need to input them unless you specifically want too. But they are handy to have