Интересно, почему PDO :: PARAM_FLOAT не существует и что может его заменить?
Нет, вероятно, из-за проблем с округлением.
Просто используйте PDO::PARAM_STR и конвертируйте число с плавающей точкой в строку, используя strval($float) или (string) $float.
PDO::PARAM_STR
strval($float)
(string) $float