我有一个公式(都是货币,界面上都是用TEXT表示,所以有转换问题)
A是输入的二位小数
B是百分数
C=A*b
D=A-C但是如果一个数A  12.25
B 50%那么C经过四舍五入 format('%12.2f',C) 后为6.13
再用d=A-C,肯定会生成小数型式,如果用format('%12.2f',D)那就也变成6.13,这样就会超过原来的数值。有没有可以舍掉第三位小数的函数?

解决方案 »

  1.   

    EDIT1.Text :=floattostr(floor(12.25*0.5*100)/100);
    EDIT1.Text :=floattostr(floor(c*100)/100);
      

  2.   

    procedure TForm1.Button3Click(Sender: TObject);
    var
      a,b,c,d :CURRENCY;
    begin
      a := 12.25;
      b:= 0.5;
      C:=A*b  ;
      c:= strtofloat(format('%12.2f',[c]));
      D:=A-C;
      d:= strtofloat(format('%12.2f',[d]));
      showmessage(floattostr(c));    //6.13
      showmessage(floattostr(d));    //6.12
    end;