| SciFloat2EStr2 Routines | 
Unit
QESBPCSConvert
| Overloaded Variants | 
Declaration
Function SciFloat2EStr2(const X: Extended; const Decimals: Byte = 4): string;
Description
This is of the form d.dddEnn. ESBBlankWhenZero can be set to True to have Zero returned as an Empty string, where Zero is dependent upon ESBTolerance.
| Parameters | 
| X | Value to Convert to String. | 
| Decimals | is the desired number of Decimal places in the Mantissa, defaults to 4 | 
Category
String/Float Conversion RoutinesImplementation
 
| function SciFloat2EStr2 (const X: Extended; const Decimals: Byte = 4): string;
var
     P: Integer;
     S1, S2: string;
begin
     if ESBBlankWhenZero and FloatIsZero (X) then
     begin
          Result := '';
          Exit;
     end;
     try
          Result := FloatToStrF (X, ffExponent, Decimals + 1, 0);
          P := ESBPosCh ('E', Result);
          if P > 0 then
          begin
               S1 := LeftStr (Result, P - 1);
               S2 := RightAfterStr (Result, P - 1);
               S1 := StripTChStr (S1, '0');
               if S1 [Length (S1)] = '.' then
                    S1 := LeftStr (S1, Length (S1) - 1);
               Result := S1 + S2;
          end;
     except
          Result := '';
     end;
End; | 
Declaration
Function SciFloat2EStr2(const X: Double; const Decimals: Byte = 4): string;Implementation
 
| function SciFloat2EStr2 (const X: Double; const Decimals: Byte = 4): string;
var
     P: Integer;
     S1, S2: string;
begin
     if ESBBlankWhenZero and FloatIsZero (X) then
     begin
          Result := '';
          Exit;
     end;
     try
          Result := FloatToStrF (X, ffExponent, Decimals + 1, 0);
          P := ESBPosCh ('E', Result);
          if P > 0 then
          begin
               S1 := LeftStr (Result, P - 1);
               S2 := RightAfterStr (Result, P - 1);
               S1 := StripTChStr (S1, '0');
               if S1 [Length (S1)] = '.' then
                    S1 := LeftStr (S1, Length (S1) - 1);
               Result := S1 + S2;
          end;
     except
          Result := '';
     end;
End; | 
Declaration
Function SciFloat2EStr2(const X: Single; const Decimals: Byte = 4): string;Implementation
 
| function SciFloat2EStr2 (const X: Single; const Decimals: Byte = 4): string;
var
     P: Integer;
     S1, S2: string;
begin
     if ESBBlankWhenZero and FloatIsZero (X) then
     begin
          Result := '';
          Exit;
     end;
     try
          Result := FloatToStrF (X, ffExponent, Decimals + 1, 0);
          P := ESBPosCh ('E', Result);
          if P > 0 then
          begin
               S1 := LeftStr (Result, P - 1);
               S2 := RightAfterStr (Result, P - 1);
               S1 := StripTChStr (S1, '0');
               if S1 [Length (S1)] = '.' then
                    S1 := LeftStr (S1, Length (S1) - 1);
               Result := S1 + S2;
          end;
     except
          Result := '';
     end;
End; | 
|  |