假设 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.
解决方案 »
- 在delphi中读取非ansi格式文本文件的问题
- 我用一个dataGrid显示一个有1万行数据的表,但要几秒的时间才能显示,有什么好方法可以加快显示速度
- 显示分辨率的自动设置
- 打开一个 Form时如何向该窗口传递一个参数?
- 请教一个简单的string?
- 愿意帮忙的朋友进来看看
- 关于access中的自增字段问题
- 如何实现行列互换????
- 如何逐条访问数据库中从表的每条记录?(当主表的当前记录变化后,从表用GRID显示)
- 我是新手,向大家请教Delphi它主要的优势在哪里呀?
- 如何使DBGrid中的PickList自动弹出,而不用点鼠标?
- 如何在dbgrid中使指针指向的记录高亮显示?分数不会少于30!!
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;