fromIntegral
конвертируется из Int в Float.
Для Чарда, чтобы Плавать, это зависит. Если вы хотите получить значение ASCII для Char (игнорируя Unicode на данный момент), используйте Data.Char.ord:
Prelude Data.Char> fromIntegral (ord '2') :: Float
50.0
Если вы хотите прочитать цифру символа, то есть '2'
становится значением 2
, вы можете сделать это:
char2float :: Char -> Float
char2float n = fromInteger (read [n])
Prelude Data.Char> char2float '2'
2.0
Если вы собираетесь сделать многое из этого, вы можете рассмотреть возможность использования фактической библиотеки синтаксического анализа для получения фактической обработки ошибок.