字符串'001'到字符串'1'用了IntToStr(StrToInt('001'))对于标题所述,写了个函数如下:
function ConvertDeh(aDEH: string): String;
var
p: integer;
StrBefore,StrBehind:string; function GetNumberFromStr(aStr: String): String;
var
i,p: integer;
begin
Result := '';
for i:=1 to Length(aStr) do
if Ord(aStr[i]) in [Ord('0')..ord('9')] then
Result := Result + aStr[i];
end;
begin
p := pos('-',aDEH);
StrBefore := LeftStr(aDEH,p-1);
StrBefore := GetNumberFromStr(StrBefore);
StrBehind := RightStr(aDEH,length(aDEH)-p);
StrBehind := GetNumberFromStr(StrBehind);
Result := IntToStr(StrToInt(StrBefore)) + '-' + IntToStr(StrToInt(StrBehind));
end;因为这函数放在一个循环里面,数据量大时,速度成个问题,请教更快的写法;
function ConvertDeh(aDEH: string): String;
var
p: integer;
StrBefore,StrBehind:string; function GetNumberFromStr(aStr: String): String;
var
i,p: integer;
begin
Result := '';
for i:=1 to Length(aStr) do
if Ord(aStr[i]) in [Ord('0')..ord('9')] then
Result := Result + aStr[i];
end;
begin
p := pos('-',aDEH);
StrBefore := LeftStr(aDEH,p-1);
StrBefore := GetNumberFromStr(StrBefore);
StrBehind := RightStr(aDEH,length(aDEH)-p);
StrBehind := GetNumberFromStr(StrBehind);
Result := IntToStr(StrToInt(StrBefore)) + '-' + IntToStr(StrToInt(StrBehind));
end;因为这函数放在一个循环里面,数据量大时,速度成个问题,请教更快的写法;
解决方案 »
- 使用SQL查询语句结果(变量)批量更新问题
- FastReport运行时,如何获取memoview的值?
- ★ 200分求图片识别问题
- 各位大虾,请教一下:有什么好的方法或控件可以实现这样的问题
- 寻找全csdn id最短的人
- 求一本好的delphi书!散200分!!!!!!
- 【无边框窗体移动的问题】请教高人解决有关多个无边框窗口在响应鼠标事件时错乱的问题。
- 请问,我这句有错吗
- 求救!!我在delphi中写了一个文件上传的activex组件,在asp中进行数据集提交时,提交的数据都是空值,
- 一个范围,判断最大值的问题.请高手帮忙!!!!!!!!!!!!!!!!!!!
- 怎么实现只有数据库中的一个表改变时 才对另一个表进行操作
- 用ADO连接MSSQL数据库, 如何检测数据集是否修改?(在线等待, 回应即有分啊)
var
i0, iOrd: Integer;
iStart: array[0..1] of Integer;
iEnd: array[0..1] of Integer;
begin
iOrd := 0;
iStart[0] := 0;
iStart[1] := 0;
iEnd[1] := Length(Value);
for i0 := 1 to iEnd[1] do
case Value[i0] of
'-': begin
iEnd[iOrd] := i0;
Inc(iOrd);
end;
'1'..'9':
begin
if iStart[iOrd] = 0 then
iStart[iOrd] := i0;
end;
end;
Result := Copy(Value, iStart[0], iEnd[0] - iStart[0] + 1) +
Copy(Value, iStart[1], iEnd[1] - iStart[1] + 1);
end;
//Result: 0.07
//Datas: 10000