假设 szYuan = '0.234 元';szTemp用来存返回字符串
var nLen: Integer;
...
nLen := StrPos(szYuan, '元') - PChar(szYuan);
StrLCopy(PChar(szTemp), szYuan, nLen);
...
OK.
var nLen: Integer;
...
nLen := StrPos(szYuan, '元') - PChar(szYuan);
StrLCopy(PChar(szTemp), szYuan, nLen);
...
OK.
function AnyStrToFloat(const S: string): Extended;
var
i:Integer;
T1,T2:string;
Dec:Boolean;
begin
T1:=Trim(S);
T2:='0';
Dec:=False;
for i := 1 to Length(T1) do
begin
if not (T1[i] in ['0'..'9','.']) then
Break;
if T1[i]='.' then
if Dec then
Break
else
Dec:=True;
T2:=T2+T1[i];
end;
Result:=StrToFloat(T2);
end;
s: String;
i: Integer;
begin
s := '0.234元';
i := Pos('元', s);
if i > 0 then
delete(s, i, Length(s) - i + 1);
end;