How to convert an array of digits to a number in Pascal

2 Answers

0 votes
program DigitsToNumberMath;

function DigitsToNumberMath(arr: array of Integer): Int64;
var
  n, i: Int64;
begin
  n := 0;
  for i := 0 to High(arr) do
    n := n * 10 + arr[i];   { shift left and add digit }

  DigitsToNumberMath := n;
end;

var
   digits: array[0..6] of Integer = (9, 4, 6, 3, 9, 1, 2);
  n: Int64;

begin
  n := DigitsToNumberMath(digits);
  WriteLn('Using math method: ', n);
end.



(*
run:
 
Using math method: 9463912
 
*)

 



answered Oct 4, 2025 by avibootz
edited May 11 by avibootz
0 votes
program DigitsToNumber;

uses SysUtils;

function DigitsToNumberStr(arr: array of Integer): Int64;
var
  s: string;
  i: Integer;
begin
  s := '';
  
  for i := 0 to High(arr) do
    s := s + IntToStr(arr[i]);   { append digit as text }

  DigitsToNumberStr := StrToInt(s);         { convert final string to integer }
end;

var
  digits: array[0..6] of Integer = (9, 4, 6, 3, 9, 1, 2);
  n: Int64;

begin
  n := DigitsToNumberStr(digits);
  
  WriteLn('Using string method: ', n);
end.



(*
run:
 
Using string method: 9463912
 
*)

 



answered May 11 by avibootz
...