Jak*_*ake 5 floating-point int haskell
haskell中有一个函数,它从int转换为float,从char转换为float?
我知道有一个函数可以从char转换为int,int转换为char.
Joh*_*n L 10
fromIntegral 将从Int转换为Float.
对于Char to Float来说,这取决于.如果要获取Char的ASCII值(暂时忽略Unicode),请使用Data.Char.ord:
Prelude Data.Char> fromIntegral (ord '2') :: Float
50.0
Run Code Online (Sandbox Code Playgroud)
如果你想读取Char的数字,即'2'成为值2,你可以这样做:
char2float :: Char -> Float
char2float n = fromInteger (read [n])
Prelude Data.Char> char2float '2'
2.0
Run Code Online (Sandbox Code Playgroud)
如果您要做很多这样的事情,可以考虑使用实际的解析库来获得实际的错误处理.
这样的问题可以通过hoogle来回答.
例如,Hoogle为"Char - > Int"和列出的第一个函数将执行此操作(ord在其他答案中提到,是第二个结果):
digitToInt :: Char -> Int
Run Code Online (Sandbox Code Playgroud)
虽然你需要一个函数:: Char - > Float确实要求使用read(第三个结果向下)或者使用digitToInt和一个函数:: Int - > Float的组合:
digitToFloat = toEnum . digitToInt
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9684 次 |
| 最近记录: |