stringgrid1.Cells[7,currentrow]:=floattostr(number*price);计算出来,后面都有4,5位小数,我怎么让它保留2位呢?

解决方案 »

  1.   

    你试试showmessage(floattostr(12.235655*12));
    是不是显示 146.82786
    showmessage(FormatFloat('.##',12.235655*12));
    是不是显示 146.83这不是小数后2位吗?
      

  2.   

    FormatFloat('0.00',number*price)
    就能保留后两位小数.
      

  3.   

    Trunc( X * 100 ) / 100
      

  4.   

    如:
    var
      X : double;
    begin
      X := 12358.987678762;
      showmessage(floattostr(x));
      X := Trunc(X * 100)/100;//如果想4舍5入就把Trunc改用Round
      showmessage(floattostr(x));
    end;
      

  5.   

    用format的话应该是Format('%0.2f',[number*price]);