如何在Haskell中将Char转换为Int?

23
我需要在Haskell中将一个 `Char` 转换为一个 `Int`。比如说:
a = '\x2' -- a == 2
          -- type of a should be Char
b = charToInt a -- b == 2
                -- type of b should be Int

我该如何实现这个目标?


11
了解并使用hoogle - Thomas M. DuBuisson
2个回答

30

你可以使用ord函数将字符转换为对应的整数(序数)表示。

chr函数则实现了相反的功能。

> ord '\x2'­
  => 2
> chr 97
  => 'a'
> ord (chr 42)
  => 42

30
补充一点,要使用那些函数,你需要导入Char或Data.Char模块。 - newacct

5

您可以使用 fromEnum 或 Data.Char.ord 进行转换。


(fromEnum 'x') - (fromEnum '0') == x - jpredham
3
@jpredham,我们可以使用Data.Char中的digitToInt '9'来实现这个确切的目的。 - gvlasov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接