加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

设置DBGrid中数字的显示格式 format formatfloat

(2011-10-24 23:00:17)
标签:

lazarus

dbgrid

显示

format

formatfloat

delphi

分类: --Lazarus程序
 (DBG.Columns[6] as Tcolumn).DisplayFormat:='###,###,##0.00'
  (DBG.Columns[7] as TColumn).DisplayFormat:='0.00';   

FormatFloat的用法

声明:
function FormatFloat(const Format: string; Value: Extended): string; overload;
和上面一样Format参数为格式化指令字符,Value为Extended类型
为什么是这个类型,因为它是所有浮点值中表示范围最大的,如果传入该方法的参数
比如Double或者其他,则可以保存不会超出范围。

关键是看Format参数的用法
这个指定相应的位数的指令。
   比如:FormatFloat('000.000',22.22);
   输出的就是022.220
   注意一点,如果整数部分的0的个数小于Value参数中整数的位数,则没有效果
   如:FormatFloat('0.00',22.22);
   输出的是:22.22
   但如果小数部分的0小于Value中小数的倍数,则会截去相应的小数和位数
   如:FormatFloat('0.0',22.22);
   输出的是:22.2
  
   也可以在整数0中指定逗号,这个整数位数必须大于3个,才会有逗号出句
   FormatFloat('0,000.0',2222.22);
   输出是:2,222.2
   如果这样FormatFloat('000,0.0',2222.22);
   它的输出还是:2,222.2
   注意它的规律

和0的用法一样,目前我还没有测出有什么不同。      (对于整数位数位0的,#和0是不一样的,0.00才显示为0.10,#.00显示为.10)
   FormatFloat('##.##',22.22);
   输出是:22.00

科学表示法,看几个例子大概就明白了
   FormatFloat('0.00E+00',2222.22);
   输出是 2.22E+03
   FormatFloat('0000.00E+00',2222.22);
   输出是 2222.22E+00
    FormatFloat('00.0E+0',2222.22);
   22.2E+2
全靠E右边的0来支配的。

首部     function   Format(const   Format:   string;   const   Args:   array   of   const):   string;   $[SysUtils.pas  
  功能     返回按指定方式格式化一个数组常量的字符形式   
   "%"   [索引   ":"]   ["-"]   [宽度]   ["."   摘要]   类型  
  Format('x=%d',   [12]);   //'x=12'   //最普通  
  Format('x==',   [12]);   //'x=   12'   //指定宽度  
  Format('x=%f',   [12.0]);   //'x=12.00'   //浮点数  
  Format('x=%.3f',   [12.0]);   //'x=12.000'   //指定小数  
  Format('x=%.*f',   [5,   12.0]);   //'x=12.00000'   //动态配置  
  Format('x=%.5d',   [12]);   //'x=00012'   //前面补充0  
  Format('x=%.5x',   [12]);   //'x=0000C'   //十六进制  
  Format('x=%1:d%0:d',   [12,   13]);   //'x=1312'   //使用索引  
  Format('x=%p',   [nil]);   //'x=00000000'   //指针  
  Format('x=%1.1e',   [12.0]);   //'x=1.2E+001'   //科学记数法  
  Format('x=%%',   []);   //'x=%'   //得到"%"  
  S   :=   Format('%s%d',   [S,   I]);   //S   :=   S   +   StrToInt(I);   //连接字符串 


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有