如何在不规整的数据报表中提取数据?(望高人指点)(100分)

  • 主题发起人 主题发起人 khqwy
  • 开始时间 开始时间
K

khqwy

Unregistered / Unconfirmed
GUEST, unregistred user!
我现有如下报表
客户收益表
期间:2006年1月1日----2006年05月31日
一、利差收入
(一)活期存款利差收入
1、活期存款
帐 号 帐户平均余额 准备金率 现金备付率 可用余额 内部利率 内部利息收入 汇 率 折人民币
123456789 1.00000Cr 1.00000 1.00000 1.000Cr 1.0000 1.00Cr 1.000000 1.0000Cr
合计(折人民币):1.000元
我想去掉汉字,只留下数字用于计算,怎样做简便些?有什么好的方法?请高人指点!!!!!
 
没明白楼主啥意思,去掉什么汉字啊
 
就是在这个报表中,去掉如“活期存款利差收入”等汉字,只留下报表中的数字!
 
顶一下,怎么没有人解答呀???
 
顶一下,高人在哪里呀?
 
问题问的不清楚。让别人难回答
 
楼主的问题不好弄,给你个判断汉字的函数吧
实现过程如下:
function ByteType(const S: string; Index: Integer): TMbcsByteType;
begin
Result := mbSingleByte; //默认为英文字符
if SysLocale.FarEast then //操作系统是亚洲版本
Result := ByteTypeTest(PChar(S), Index-1);
end;

function ByteTypeTest(P: PChar; Index: Integer): TMbcsByteType;
var
I: Integer;
begin
Result := mbSingleByte;
if (P = nil) or (P[Index] = #$0) then Exit;
if (Index = 0) then
begin
if P[0] in LeadBytes then Result := mbLeadByte;
end
else
begin
I := Index - 1;
while (I >= 0) and (P in LeadBytes) do Dec(I);//这里我还想不通为什么要用循环,而不是直接判断
if ((Index - I) mod 2) = 0 then Result := mbTrailByte
else if P[Index] in LeadBytes then Result := mbLeadByte;
end;
end;
 
接受答案了.
 
后退
顶部