如何将值从字符转换为数字

时间:2014-09-22 14:18:56

标签: pascal

如何将字母转换为数字。 假设A:= 5,B:= 10。 当输入为AB时,我希望输出结果为A + B(510) 我打算用字母表中的所有字符来做这个。

2 个答案:

答案 0 :(得分:-1)

我不是帕斯卡专家,但这应该有效:

获取每个字母的序号
n:=ord(s)

然后你可以减去ascii" A"的Ord。如果您希望B等等的A 11为10,则添加10;

如果你想将字母映射到你自己的数字,你可以使用一个数组代替,该数组在对应于" A"的序数位置的索引处包含5,在B的位置等等10。

然后申请

str() 

到每个结果n

然后使用

+

concat()

将字符串放在一起

答案 1 :(得分:-1)

这将引导您找到完整的解决方案:

program ccn;
const
  a= 'A';
  z= 'Z';
type
  domain= a..z;
var
  conv:  array[ domain] of integer;
  input: string;
  i: integer;

begin
conv[ 'A'] :=  5;
conv[ 'B'] := 10;
{ ...more}

input := 'AB';
writeln( 'input:', input);
write( 'output:');
for i := 1 to length( input)
do
   write( conv[ input[ i]]);

writeln;
end.