Mi chiedo se esiste una funzione che converte i tipi razionali in Float (Rational a => a -> Float).No toFloat in Haskell
Ho provato hoogling, ma non ho trovato nulla.
Mi chiedo se esiste una funzione che converte i tipi razionali in Float (Rational a => a -> Float).No toFloat in Haskell
Ho provato hoogling, ma non ho trovato nulla.
In Haskell non si converte in ma da. Vedi fromRational
.
threeHalves :: Ratio Integer
threeHalves = 3 % 2
sqrt threeHalves -- Fails
sqrt $ fromRational threeHalves -- Succeeds
Se avete bisogno di una funzione Rational -> Float
, è possibile definire come
toFloat x = fromRational x :: Float
C'è anche fromIntegral per convertire Int
s e Integer
s per qualsiasi istanza di Num
.
foo :: Float -> Float
foo x = x+1
value :: Int
value = 4
newValue = foo (fromIntegral value)
Nota che Rational
è un tipo, non un typeclass, quindi Rational a => a
non ha senso. Prova a digitare Hoogling Rational -> Float.
Grazie, mi piace soprattutto la prima frase .. dovrebbe aiutare molto in futuro. – aelguindy
A volte converti, a volte a. C'è, ad esempio, 'toInteger'. – augustss