def to_float(input_str: str) -> float:
comma_count = input_str.count(',')
dot_count = input_str.count('.')
last_comma = input_str.rfind(',')
last_dot = input_str.rfind('.')
str_copy = input_str
if comma_count > 0 and dot_count > 0:
if last_comma > last_dot:
str_copy = str_copy.replace('.', '')
str_copy = str_copy.replace(',', '.')
else:
str_copy = str_copy.replace(',', '')
elif comma_count > 0:
str_copy = str_copy.replace('.', '')
str_copy = str_copy.replace(',', '.')
else:
str_copy = str_copy.replace(',', '')
return float(str_copy)
print(f"{to_float('1,224,533.533'):.3f}")
print(f"{to_float('1.224.533,533'):.3f}")
print(f"{to_float('2.354,67'):.2f}")
print(f"{to_float('2,354.67'):.2f}")
'''
run
1224533.533
1224533.533
2354.67
2354.67
'''