| Str2Float Function |
Unit
QESBPCSConvert
Declaration
Function Str2Float(const S: string): Extended;
Description
Removes Thousand Separators if they are present as well as any leading or trailing white spaces (ie <= #32). Non-numeric will return 0 unless you set ESBRaiseFloatError to true.
Also ignores Percentage Signs (%).
| Parameters |
| S | the String to process |
Category
String/Float Conversion RoutinesImplementation
function Str2Float (const S: string): Extended;
var
S2: string;
Found: Boolean;
begin
try
S2 := Trim (StripThousandSeparators (StripPercent (S)));
if S2 = '' then
Result := 0.0
else
begin
repeat
Found := False;
if S2 [Length (S2)] in ['e', 'E', DecimalSeparator, '-', '+'] then
begin
S2 := LeftStr (S2, Length (S2) - 1);
Found := True;
S2 := Trim (S2);
end;
until not Found or (S2 = '');
if S2 = '' then
Result := 0.0
else
Result := StrToFloat (S2);
end;
except
if ESBRaiseFloatError then
raise
else
Result := 0;
end;
End; |
|
|