您现在的位置:首页 >> 基础算法 >> window基础 >> 内容

Delphi中的FormatFloat函数用法

时间:2011/9/3 15:34:53 点击:

  核心提示:常用的声明:function FormatFloat(const Format: string; Value: Extended): string; overload;和上面一样Format参数为格式...

常用的声明:
function FormatFloat(const Format: string; Value: Extended): string; overload;

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

关键是看Format参数的用法
0  这个指定相应的位数的指令。
   比如:
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的用法一样,目前我还没有测出有什么不同。

FormatFloat('##.##',22.22);
输出是:22.00

E  科学表示法,看几个例子大概就明白了
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来支配的。
  
这个方法并不难,大概就是这样子了。

总结一下Format的用法:

Format('x=%d',[12]);//'x=12'//最普通
Format('x=%3d',[12]);//'x=12'//指定宽度
Format('x=%f',[12.0]);//'x=12.00'//浮点数
Format('x=%.3f',[12.0]);//'x=12.000'//指定小数
Format('x=%8.2f'[12.0])//'x=12.00';
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相关评论
发表我的评论
  • 大名:
  • 内容:
  • 盒子文章(www.2ccc.com) © 2022 版权所有 All Rights Reserved.
  • 沪ICP备05001939号