|
@@ -0,0 +1,62 @@
|
|
|
+uses
|
|
|
+ SysUtils;
|
|
|
+
|
|
|
+const
|
|
|
+ results: array[1..16] of string =
|
|
|
+(
|
|
|
+'234.6',
|
|
|
+'234.57',
|
|
|
+'234.568',
|
|
|
+'1000',
|
|
|
+'1235',
|
|
|
+'1234.6',
|
|
|
+'1234.57',
|
|
|
+'1234.568',
|
|
|
+'-234.6',
|
|
|
+'-234.57',
|
|
|
+'-234.568',
|
|
|
+'-1000',
|
|
|
+'-1235',
|
|
|
+'-1234.6',
|
|
|
+'-1234.57',
|
|
|
+'-1234.568'
|
|
|
+);
|
|
|
+
|
|
|
+procedure check(const s: string; index: longint);
|
|
|
+begin
|
|
|
+ if (s<>results[index]) then
|
|
|
+ begin
|
|
|
+ writeln('Expected : ',results[index]);
|
|
|
+ writeln('Got : ',s);
|
|
|
+ halt(1);
|
|
|
+ end;
|
|
|
+end;
|
|
|
+
|
|
|
+var ext:extended;
|
|
|
+ str: shortstring;
|
|
|
+begin
|
|
|
+ ext:=234.56789;
|
|
|
+ check(FloatToStrF(ext,ffGeneral,4,1),1);
|
|
|
+ check(FloatToStrF(ext,ffGeneral,5,1),2);
|
|
|
+ check(FloatToStrF(ext,ffGeneral,6,7),3);
|
|
|
+ ext:=999.9999;
|
|
|
+ check(FloatToStrF(ext,ffGeneral,4,7),4);
|
|
|
+ ext:=1234.56789;
|
|
|
+ check(FloatToStrF(ext,ffGeneral,4,1),5);
|
|
|
+ check(FloatToStrF(ext,ffGeneral,5,1),6);
|
|
|
+ check(FloatToStrF(ext,ffGeneral,6,1),7);
|
|
|
+ check(FloatToStrF(ext,ffGeneral,7,1),8);
|
|
|
+
|
|
|
+ ext:=-234.56789;
|
|
|
+ check(FloatToStrF(ext,ffGeneral,4,1),9);
|
|
|
+ check(FloatToStrF(ext,ffGeneral,5,1),10);
|
|
|
+ check(FloatToStrF(ext,ffGeneral,6,7),11);
|
|
|
+ ext:=-999.9999;
|
|
|
+ check(FloatToStrF(ext,ffGeneral,4,7),12);
|
|
|
+ ext:=-1234.56789;
|
|
|
+ check(FloatToStrF(ext,ffGeneral,4,1),13);
|
|
|
+ check(FloatToStrF(ext,ffGeneral,5,1),14);
|
|
|
+ check(FloatToStrF(ext,ffGeneral,6,1),15);
|
|
|
+ check(FloatToStrF(ext,ffGeneral,7,1),16);
|
|
|
+end.
|
|
|
+
|