Зачем вам вообще нужно делать CAST(... AS FLOAT)
??
Попробуйте эти фрагменты - они возвращают полное количество десятичных знаков:
SELECT
CONVERT(VARCHAR(20), 834.7833)
SELECT
CAST(834.7833 AS VARCHAR(20))
Оба эти результата выдают следующий результат:
834.7833