How to extract multiple floats from a string of floats in Pascal

1 Answer

0 votes
program ExtractFloatsFromString;

uses
  SysUtils, // StrToFloat // FormatFloat
  Classes; // TStringList

var
  strList: TStringList;
  str: string;
  floats: array of Single;
  i: Integer;

begin
  str := '2.809 -36.91 21.487 -493.808 5034.7001';

  strList := TStringList.Create;
  strList.Delimiter := ' ';
  strList.DelimitedText := str;

  SetLength(floats, strList.Count);

  for i := 0 to strList.Count - 1 do
  begin
    floats[i] := StrToFloat(strList[i]);
    // Format to show fixed-point with 4 decimal places
    WriteLn(FormatFloat('0.0000', floats[i]));
  end;

  strList.Free;

end.




(*
run:
  
2.8090
-36.9100
21.4870
-493.8080
5034.7002

 



answered Jul 28, 2025 by avibootz
...