procedure Tform1.StringGridlGetEditMask(Sender:TObject;ACol,ARow:Integer;var Value:String);
begin
 if acol=2 then value:=“99.99;1;”;     //五位数保留一位小数?
  if acol=2 then value:=“99.99;2;”;     //五位数保留两位小数?
  if acol=4 then value:=“9999.99;1;”;   //七位数保留一位小数?
  if acol=4 then value:=“9999.99;2;”;   //七位数保留两位小数?
end;

解决方案 »

  1.   

    StringGrid控件表格里如何设置小数位?各位谁知道的,上面的方法可行吗?
      

  2.   

    99.99;2; 9999.99;2好像不正确吧 在输入格式中的第二部分只有0和1两种选择。如为1,则掩码中的非用户输入数据和标准分隔符等其它各种字符会作为数据的一部分保存;为0则不保存。 另外,掩码其它字符含义如下: 
    !  去掉输入数据开头的空格符 
    >  让输入数据的字母都变成大写,直到遇上掩码字符 < 
    <  让输入数据的字母都变成小写,直到遇上掩码字符> 
    <>  不限制输入数据字母是大写或小写 
    \  若在输入格式内加入某个特殊字符,只要在特殊字符的前面加上此掩码就可以。 
    L  允许输入英文字母,而且一定要输入 
    l  允许输入英文字母,不一定要输入 
    A  允许输入英文字母和阿拉伯数字,一定要输入 
    a  允许输入英文字母和阿拉伯数字,不一定要输入 
    C  允许输入任何字符,一定要输入 
    c  允许输入任何字符,不一定要输入 
    0  允许输入阿拉伯数字,一定要输入 
    9  允许输入阿拉伯数字,不一定要输入 
    #  允许输入阿拉伯数字或正、负号字符 
    :  用来分隔时间数据中的时、分、秒 
    /  用来分隔日期数据中的年、月、日 
    ;  用来分隔掩码字段 
    _  代表空格符,运行时显示下划线字符procedure Tform1.StringGridlGetEditMask(Sender:TObject;ACol,ARow:Integer;var Value:String); 
    begin 
      if acol=4 then value:='9999.99;1; ';  //四位整数,两位小数 
    end; 
    9 允许输入阿拉伯数字,不一定要输入,几个9代表几位 
    第二个分号后的字符表示未输入时的替代字符,默认字符是_,上面代码中是用空格替代
      

  3.   

    把需要显示的数据格式化!
    FormatFloat('0.0000', AValue);
      

  4.   

    格式符意义#   其所对应的位置只能输入数字或正负号,但不一定要输入   
    9   其所对应的位置只能输入数字,但不一定要输入   
    0   其所对应的位置只能输入数字,一定要输入   
    c   其所对应的位置只能输入子符,但不一定要输入   
    C   其所对应的位置只能输入子符,一定要输入   
    !   假如!子符出现在TMaskEdit掩码子符中,则"!"子符前的空格不会被存为数据   
    /   通常用来分隔日期中的年月日等数据   
    _   _处自动插入一个空格   
    ;   用来分隔各个部分