如何在haskell中打印二进制或十六进制的整数文字?
printBinary 5 => "0101"
printHex 5 => "05"
Run Code Online (Sandbox Code Playgroud)
哪些库/函数允许这个?
我遇到了Numeric模块及其showIntAtBase函数,但无法正确使用它.
> :t showIntAtBase
showIntAtBase :: (Integral a) => a -> (Int -> Char) -> a -> String -> String
Run Code Online (Sandbox Code Playgroud) 对于我的家庭作业,我需要使用递归函数(根据需要使用尽可能多的辅助方法)将十六进制字符串转换为基数为 10 的整数。
这是我到目前为止所得到的:
-- Question 1, part (c):
hexChar :: Char -> Integer
hexChar ch
| ch == '0' = 0
| ch == '1' = 1
| ch == '2' = 2
| ch == '3' = 3
| ch == '4' = 4
| ch == '5' = 5
| ch == '6' = 6
| ch == '7' = 7
| ch == '8' = 8
| ch == '9' = 9
| ch == 'A' …Run Code Online (Sandbox Code Playgroud)