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; |
|