Предположим, у вас есть максимум 2 десятичных цифры:
sign_trans = str.maketrans({'$': '', ' ':''})
dot_trans = str.maketrans({'.': '', ',': ''})
def convert(num, sign_trans=sign_trans, dot_trans=dot_trans):
num = num.translate(sign_trans)
num = num[:-3].translate(dot_trans) + num[-3:]
return float(num.replace(',', '.'))
Я проверяю это на вашем примере:
>>> for n in nums:
... print(convert(n))
...
22000.76
22000.76
22000.76
1022000.76
-1022000.76
1022000.0
22000.76
22000.76