Il problema č che se il valore del DB č un "double" mentre l'altro č un "float" saranno effettivamente (e necessariamente) numeri diversi, perchč hanno precisione diversa.
Il tuo double sarą sicuramente "551.5499999999999" mentre il tuo float sarą effettivamente "551.55".