frominteger - Haskell int para flotar y char para flotar
integral haskell (4)
Preguntas como esta se pueden responder con hoogle .
Por ejemplo, Hoogle para "Char -> Int" y la primera función en la lista lo harán ( ord
, mencionado en otras respuestas, es el segundo resultado):
digitToInt :: Char -> Int
Aunque su necesidad de una función :: Char -> Float manda usar read
(tercer resultado hacia abajo) o una combinación de digitToInt y una función :: Int -> Float :
digitToFloat = toEnum . digitToInt
¿Hay una función en haskell que convierta de int a float, y de char a float?
Sé que hay una función que convierte de char a int e int a char.
fromIntegral
convertirá de Int a Float.
Para que Char flote, depende. Si desea obtener el valor ASCII de un Char (ignorando Unicode por el momento), use Data.Char.ord:
Prelude Data.Char> fromIntegral (ord ''2'') :: Float
50.0
Si quiere leer el dígito de un Char, es decir, ''2''
convierte en el valor 2
, puede hacer esto:
char2float :: Char -> Float
char2float n = fromInteger (read [n])
Prelude Data.Char> char2float ''2''
2.0
Si va a hacer mucho de esto, puede considerar el uso de una biblioteca de análisis real para obtener el control de errores.
Si lo hago bien, puede usar Read type class para estos fines. Y significa que puede convertir algunos tipos básicos a otros tipos básicos.
Conversión de Int a Float:
Prelude> 1::Float
1.0
PERO no sé lo que significa convertir de char a Float - tal vez [Char] a Float o String to Float? De todas formas:
Prelude> read("1")::Float
1.0
Mira este enlace: http://book.realworldhaskell.org/read/using-typeclasses.html