0

假设我有一个从字符串( str.at(i) )中提取的字符,我如何将该字符转换为 A=0、B=1、C=2...Z=25 的数字?提前感谢

4

2 回答 2

2

假设字符串已经在A-Z范围内,您可以执行char_value - 'A'.

这假设字母都是连续的。所以 'B' == 'A' + 1, 'C' == 'A' + 2, 等等。在 ASCII 中,这个假设是正确的。

于 2013-10-06T21:39:53.067 回答
0

每个字符都有一个特定的 ASCII 码!!像 A = 65 , b = 66 .. 等等!如果您只是从每个字符中减去 65 或 'A',您将获得所需的 int

例如:

int a = charArray[i] - 65; 

if: charArray[i] = A
then: a = 0 

& 很快!!

于 2014-04-09T18:03:14.713 回答