|
@@ -0,0 +1,155 @@
|
|
|
+program stf2;
|
|
|
+
|
|
|
+{$IFDEF FPC}
|
|
|
+{$mode objfpc}{$H+}
|
|
|
+{$ENDIF}
|
|
|
+
|
|
|
+uses SysUtils;
|
|
|
+
|
|
|
+
|
|
|
+var S: String;
|
|
|
+ E: Extended;
|
|
|
+ B: Boolean;
|
|
|
+ Code: Integer;
|
|
|
+begin
|
|
|
+ DecimalSeparator := '.';
|
|
|
+ ThousandSeparator := ',';
|
|
|
+ writeln('DecimalSeparator = ',DecimalSeparator);
|
|
|
+ writeln('ThousandSeparator = ',ThousandSeparator);
|
|
|
+ E := -1.0;
|
|
|
+ S := '123.456';
|
|
|
+ B := TextToFloat(PChar(S), E, fvExtended, DefaultFormatSettings);
|
|
|
+ if B then writeln(Format('(1) "%s" -> %.3f',[S,E]))
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ writeln(Format('(1) "%s" -> Conversion Error',[S]));
|
|
|
+ halt(1);
|
|
|
+ end;
|
|
|
+ B := TextToFloat(PChar(S), E, DefaultFormatSettings);
|
|
|
+ if B then writeln(Format('(2) "%s" -> %.3f',[S,E]))
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ writeln(Format('(2) "%s" -> Conversion Error',[S]));
|
|
|
+ halt(1);
|
|
|
+ end;
|
|
|
+ S := '123,456';
|
|
|
+ B := TextToFloat(PChar(S), E, fvExtended, DefaultFormatSettings);
|
|
|
+ if B then writeln(Format('(1) "%s" -> %.3f',[S,E]))
|
|
|
+ else writeln(Format('(1) "%s" -> Conversion Error',[S]));
|
|
|
+ B := TextToFloat(PChar(S), E, DefaultFormatSettings);
|
|
|
+ if B then writeln(Format('(2) "%s" -> %.3f',[S,E]))
|
|
|
+ else writeln(Format('(2) "%s" -> Conversion Error',[S]));
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ DecimalSeparator := ',';
|
|
|
+ ThousandSeparator := '.';
|
|
|
+ writeln('DecimalSeparator = ',DecimalSeparator);
|
|
|
+ writeln('ThousandSeparator = ',ThousandSeparator);
|
|
|
+ E := -1.0;
|
|
|
+ S := '123.456';
|
|
|
+ B := TextToFloat(PChar(S), E, fvExtended, DefaultFormatSettings);
|
|
|
+ if B then
|
|
|
+ begin
|
|
|
+ writeln(Format('(1) "%s" -> %.3f',[S,E]));
|
|
|
+ halt(1);
|
|
|
+ end
|
|
|
+ else writeln(Format('(1) "%s" -> Conversion Error',[S]));
|
|
|
+ B := TextToFloat(PChar(S), E, DefaultFormatSettings);
|
|
|
+ if B then
|
|
|
+ begin
|
|
|
+ writeln(Format('(2) "%s" -> %.3f',[S,E]));
|
|
|
+ halt(1);
|
|
|
+ end
|
|
|
+ else writeln(Format('(2) "%s" -> Conversion Error',[S]));
|
|
|
+ S := '123,456';
|
|
|
+ B := TextToFloat(PChar(S), E, fvExtended, DefaultFormatSettings);
|
|
|
+ if B then writeln(Format('(1) "%s" -> %.3f',[S,E]))
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ writeln(Format('(1) "%s" -> Conversion Error',[S]));
|
|
|
+ halt(1);
|
|
|
+ end;
|
|
|
+ B := TextToFloat(PChar(S), E, DefaultFormatSettings);
|
|
|
+ if B then writeln(Format('(2) "%s" -> %.3f',[S,E]))
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ writeln(Format('(2) "%s" -> Conversion Error',[S]));
|
|
|
+ halt(1);
|
|
|
+ end;
|
|
|
+
|
|
|
+ DecimalSeparator := ',';
|
|
|
+ ThousandSeparator := ',';
|
|
|
+ writeln('DecimalSeparator = ',DecimalSeparator);
|
|
|
+ writeln('ThousandSeparator = ',ThousandSeparator);
|
|
|
+ E := -1.0;
|
|
|
+ S := '123.456';
|
|
|
+ B := TextToFloat(PChar(S), E, fvExtended, DefaultFormatSettings);
|
|
|
+ if B then
|
|
|
+ begin
|
|
|
+ writeln(Format('(1) "%s" -> %.3f',[S,E]));
|
|
|
+ halt(1);
|
|
|
+ end
|
|
|
+ else writeln(Format('(1) "%s" -> Conversion Error',[S]));
|
|
|
+ B := TextToFloat(PChar(S), E, DefaultFormatSettings);
|
|
|
+ if B then
|
|
|
+ begin
|
|
|
+ writeln(Format('(12 "%s" -> %.3f',[S,E]));
|
|
|
+ halt(1);
|
|
|
+ end
|
|
|
+ else writeln(Format('(2) "%s" -> Conversion Error',[S]));
|
|
|
+ S := '123,456';
|
|
|
+ B := TextToFloat(PChar(S), E, fvExtended, DefaultFormatSettings);
|
|
|
+ if B then writeln(Format('(1) "%s" -> %.3f',[S,E]))
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ writeln(Format('(1) "%s" -> Conversion Error',[S]));
|
|
|
+ halt(1);
|
|
|
+ end;
|
|
|
+ B := TextToFloat(PChar(S), E, DefaultFormatSettings);
|
|
|
+ if B then writeln(Format('(2) "%s" -> %.3f',[S,E]))
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ writeln(Format('(2) "%s" -> Conversion Error',[S]));
|
|
|
+ halt(1);
|
|
|
+ end;
|
|
|
+
|
|
|
+ DecimalSeparator := '.';
|
|
|
+ ThousandSeparator := '.';
|
|
|
+ writeln('DecimalSeparator = ',DecimalSeparator);
|
|
|
+ writeln('ThousandSeparator = ',ThousandSeparator);
|
|
|
+ E := -1.0;
|
|
|
+ S := '123.456';
|
|
|
+ B := TextToFloat(PChar(S), E, fvExtended, DefaultFormatSettings);
|
|
|
+ if B then writeln(Format('(1) "%s" -> %.3f',[S,E]))
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ writeln(Format('(1) "%s" -> Conversion Error',[S]));
|
|
|
+ halt(1);
|
|
|
+ end;
|
|
|
+ B := TextToFloat(PChar(S), E, DefaultFormatSettings);
|
|
|
+ if B then writeln(Format('(2) "%s" -> %.3f',[S,E]))
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ writeln(Format('(2) "%s" -> Conversion Error',[S]));
|
|
|
+ halt(1);
|
|
|
+ end;
|
|
|
+ S := '123,456';
|
|
|
+ B := TextToFloat(PChar(S), E, fvExtended, DefaultFormatSettings);
|
|
|
+ if B then
|
|
|
+ begin
|
|
|
+ writeln(Format('(1) "%s" -> %.3f',[S,E]));
|
|
|
+ halt(1);
|
|
|
+ end
|
|
|
+ else writeln(Format('(1) "%s" -> Conversion Error',[S]));
|
|
|
+ B := TextToFloat(PChar(S), E, DefaultFormatSettings);
|
|
|
+ if B then
|
|
|
+ begin
|
|
|
+ writeln(Format('(2) "%s" -> %.3f',[S,E]));
|
|
|
+ halt(1);
|
|
|
+ end
|
|
|
+ else writeln(Format('(2) "%s" -> Conversion Error',[S]));
|
|
|
+
|
|
|
+
|
|
|
+end.
|
|
|
+
|