И двете precision и scale свойствата работят само с decimal тип съпоставяне ( връзка
). Предлагам ви да използвате decimal тип.
Що се отнася до това защо създава двойно поле вместо float, не съм напълно сигурен. Вероятно е свързано със съвместимостта с всички поддържани бази данни. Не виждам споменаване на double тип съпоставяне, така че предполагам, че използват един и същ тип и за двете.