begin
if edit2.Text <='400' then
begin
edit3.Text :=strtoint(edit2.Text )*strtoint(0.005);
exit;
end;
if edit2.Text <='600' then
begin
edit3.Text :=floattostr(strtoint(edit2.Text )*0.01);
exit;
end;
if edit2.Text <='800' then
begin
edit3.Text :=floattostr(strtoint(edit2.Text )*0.015);
exit;
end;
if edit2.Text <='1500' then
begin
edit3.Text :=floattostr(strtoint(edit2.Text )*0.02);
exit;
end;
if edit2.Text <='1000000' then
begin
edit3.Text :=floattostr(strtoint(edit2.Text )*0.03);
exit;
end;为什么按上面那种写法当输入的数据大于800时也就是在
if edit2.Text <='1500' then
begin
edit3.Text :=floattostr(strtoint(edit2.Text )*0.02);
exit;
end;
if edit2.Text <='1000000' then
begin
edit3.Text :=floattostr(strtoint(edit2.Text )*0.03);
exit;
end;
这两个判断时,计算出来的结果仍然是做的第一步乘以0.05 如下: 请高手指教!
if edit2.Text <='400' then
begin
edit3.Text :=strtoint(edit2.Text )*strtoint(0.005);
exit;
end;

解决方案 »

  1.   

    字符串问题
    if strtoint(edit2.Text) <=400 then
    begin
    edit3.Text :=floattostr(strtoint(edit2.Text )*0.005);
    exit;
    end;
    if strtoint(edit2.Text) <=600 then
    begin
    edit3.Text :=floattostr(strtoint(edit2.Text )*0.01);
    exit;
    end;
    if strtoint(edit2.Text) <=800 then
    begin
    edit3.Text :=floattostr(strtoint(edit2.Text )*0.015);
    exit;
    end;
    if  strtoint(edit2.Text) <=1500  then
    begin
    edit3.Text :=floattostr(strtoint(edit2.Text )*0.02);
    exit;
    end;
      

  2.   

    edit2.text 和 ‘400’都是STRING型的啊  
    你把每个 if edit2.text<='400' then   换成   if strtoint(edit2.text)<=400 then 就可以了