用stringgrid作表格,在一些格子里输入数字,数字的格式如下:10.55或者是9.65 就是小数点前面是1位或者是2位,小数点后面是2位。如何才能规范的显示格子里的数值。
我现在用的是如下的方法:
if ACol=2 then value:= '99.99;1;';
但是小数点前2位的时候还好了,如果是1位的时候,会有一个空位,很烦人。好像9 .65.怎么才能完美的显示出9.65呢。
有遇见过这个问题的帮帮忙,谢谢。

解决方案 »

  1.   


    procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol,ARow: Integer; Rect: TRect; State: TGridDrawState);
    var
       CellStr: string;
       Mode: integer;
    begin
       if Arow= 0 then Mode:=DT_CENTER  //第一行标题栏,居中;其它行居右
       else Mode:=DT_RIGHT;
       CellStr:=StringGrid1.Cells[ACol,ARow];
       StringGrid1.Canvas.FillRect(Rect);
       DrawText(StringGrid1.Canvas.Handle, PChar(CellStr), Length(CellStr), Rect, Mode);
    end;
      

  2.   

    自己写个函数
    value := YourFunction(9.65, fmtString);
      

  3.   

    tms  grids  多好 用 ,设置个 单元格类型就好了