我试图从Haskell中的String读取所有小数,我目前有以下功能:
readDecimals :: String -> [Int]
readDecimals n = (n - fromIntegral(floor n))
问题是这个函数不能用String,任何人都可以帮助我吗?
答案 0 :(得分:3)
import Data.Char
readDecimals :: String -> [Int]
readDecimals = map digitToInt
答案 1 :(得分:2)
import Data.List
import Data.Maybe
readDecimals :: String -> [Int]
readDecimals = unfoldr (listToMaybe . readNext)
where readNext = reads :: ReadS Int
请注意,当它无法读取任何数字而不是抛出异常时,它将停止。