Как вы сказали в комментарии, это не комплексное число, а число с плавающей запятой. Вы, конечно, можете преобразовать его в (длинное) целое число, но вы не можете быть уверены, что вернете исходное число.
В вашем примере:
i = 1081546747036327937
f = float(i)
j = int(f)
print(i, f, j, j-i)
отобразит:
1081546747036327937 1.081546747036328e+18 1081546747036327936 -1
Это связано с тем, что с плавающей запятой точность ограничена, а ошибки округления следует ожидать с большими целыми числами, когда двоичное представление требует более 53 бит.