关于函数参数(FloatToStrF()),敬请各位帮助解释
我是初学者,遇到这样的问题,
void __fastcall TForm1::Button3Click(TObject *Sender)
{
float rr[2][3]={{1.23,2.33,3.44},{5.67,6.78,7.89}};
int dd=50;
for(int i=0;i<3;i++)
{
Canvas->TextOutA(20+i*dd,20,FloatToStr(rr[1][i));
}
}
显示为:5.6700000765 6.78000067123 7.88234567123
怎么控制输出数字的长度?例如保留有限位小数,不足的时候补0,
有人提议用FloatToStrF(),可是参数不会设置,请各位帮助呀,
问题点数:30、回复次数:7Top
1 楼zxphxh(天雨)回复于 2006-03-28 10:18:40 得分 10
用FormatFloat("0.00",f)Top
2 楼Ring_Pt(已是黄昏独自愁)回复于 2006-03-28 10:23:01 得分 10
FormatFloat("0.00",5.6700000765);Top
3 楼ln_cong()回复于 2006-03-28 11:01:47 得分 0
FormatFloat("0.00",f)加载程序什么地方呀,怎么说是没有定义??Top
4 楼weixing979(★★★闪电侠★★★)回复于 2006-03-28 11:24:27 得分 0
#include <SysUtils.hpp>Top
5 楼ln_cong()回复于 2006-03-28 11:29:28 得分 0
谢谢,FormatFloat()函数会用了,
可是FloatToStrF(),还不会用;(:Top
6 楼truelove7283159(大头娃娃http://traversite.blog.sohu.com)回复于 2006-03-28 11:42:40 得分 10
FormatFloat("0.00",FloatToStr(rr[1][i)));
Top
7 楼truelove7283159(大头娃娃http://traversite.blog.sohu.com)回复于 2006-03-29 10:28:30 得分 0
FloatToStrF(Extended Value, TFloatFormat Format, int Precision, int Digits);
enum TStringFloatFormat {sffGeneral, sffExponent, sffFixed, sffNumber, sffCurrency };
eg:
FloatToStrF( mpackentry->shrinkage2, ffFixed, 15, 15 );
Value参数--〉 是要转换的值
Precision参数--〉指定变换价值的精度。精度 Single 形式 7 以下,Double 形式 15 以下, Extended 形式是 18以下。
Digits-〉Digits 及 Format 参数,控制对价值的字符串的形式设定做方法。详细请参照 TFloatFormat 函数的说明。
Top




