PASCAL 字符串到数组

PASCAL string to array

如何将一串数字(例如 '21354561321535613')转换为数字并将它们存储在数组中?

每个数字都应转换为数组中的整数元素,因此字符串 '21354561321535613' 的结果应为:

[2, 1, 3, 5, 4, 5, 6, 1, 3, 2, 1, 5, 3, 5, 6, 1, 3]
var
  Str: string;
  Arr: array of Integer;
  i: Integer;
  Len: Integer;
begin
  Str := '21354561321535613';
  Len := Length(Str);
  SetLength(arr, Len);

  for i := 1 to Len do
    Arr[i - 1] := StrToInt(Str[i]);  
end;

您可以通过减去 '0' 的序数值轻松地将数字转换为整数。循环执行此操作,每个数字都有一个整数:

var
  S: string;
  A: array of Integer;
  I, Len: Integer;
begin
  S := '21354561321535613';
  Len := Length(S);

  { Reserve Len Integers. }
  SetLength(A, Len);

  { Convert each digit into an integer: }
  for I := 1 to Len do
    A[I - 1] := Ord(S[I]) - Ord('0'); { [I - 1] because array is zero-based. }
end;

您可以使用此代码将字符串转换为字节数组)

uses crt;
var
        s:string;
        a:array[1..1000] of byte;
        i:byte;
begin
        s:='1234567';
        for i:=1 to length(s) do
                val(s[i],a[i]);
end.

示例将数字作为字符串转换为数字使用函数

 strtoint(number_in_string);

要将数字转换为字符串形式的数字,请使用函数

inttostr(number);