用DBGrid显示实型数据时,数值的有效位数不一样,小数位数也不一样,如果能够实现小数点对齐显示,如下所示:
  123.23
 2345.2354
32434.1
等等。

解决方案 »

  1.   

    在TDATASET的FIELDS中设定,DisplayFormat为0.000
      

  2.   

    把那个字段的DisplayFormat属性设为 #,##0.00
      

  3.   


    >>>>>>>>>>>>>>>
    簡單啊!!!條件是你必需要固定幾位小數,將字段設為右對齊.
     假設為3位, 在Field.OnGetText事件中寫代碼, 
    procedure TForm1.Query1AmountGetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    var
      value, prefix, suffix: string;
    begin
      value := formatfloat('0.000', Sender.AsCurrency);
      prefix := leftstr(value, pos('.', value) - 1);
      suffix := midstr(value, pos('.', value) + 1, length(value));
      suffix := AnsiReplaceStr(suffix, '0', ' '); {±N0´À´«¦¨ªÅ®æ}
      value := prefix + '.' + suffix;
    end;
      

  4.   

    JonnySun() 的方法完全可行啊。
      

  5.   

    不是吧。我在stringgrid中加入了JonnySun() 的代码,好像一点效果都没有,
    不知道能不能把思路讲一下啊。