小数位数,如何定义??

JAMESNET 2004-07-22 05:01:17
float f_sd ;
打算将 f_sd 的小数位数保留2位?
...全文
245 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Maconel 2004-07-23
  • 打赏
  • 举报
回复
用FloatToStrF函数
StaticText1->Caption = FloatToStrF(f_sd, ffFixed, 5, 2);
详细的FloatToStrF用法,请参看
雪中送炭--BCB函数库1.1
http://zydlm.wxhc.com.cn/down_view.asp?id=119
gas0189 2004-07-23
  • 打赏
  • 举报
回复
对,应该用StaticText1->Caption = FormatFloat("#.00",(float)i_ds / i_fs ) ;
否则就自动取整了。
JetKingLau 2004-07-22
  • 打赏
  • 举报
回复
FormatFloat() 好象只是截断,不四舍五入,所以要加 0.005。

不能确定,你自己试一下。


BTW:

StaticText1->Caption = FormatFloat("0##.00",i_ds / i_fs ) ;

---------------------------
算出的结果为何不正确啊??显示值为: 003.00

/////////////////

StaticText1->Caption = FormatFloat("#.00",i_ds / i_fs ) ;

注意你的 i_ds 是整数则

StaticText1->Caption = FormatFloat("#.00",(float)i_ds / i_fs ) ;
JetKingLau 2004-07-22
  • 打赏
  • 举报
回复
zds = FormatFloat("0.00", i_ds / i_fs + 0.005).ToDouble();
JAMESNET 2004-07-22
  • 打赏
  • 举报
回复
其实我是要相加的...
即 zds = i_ds / i_fs
保留两位小数...
然后zds 再与其他数据相加,而不是用于显示的!!!

向DX求救...
JAMESNET 2004-07-22
  • 打赏
  • 举报
回复
int i_fs , i_ds , ds , fs , ms ;
float zds ;

i_ds = Edit1->Text.ToInt(); //i_ds = 360
i_fs = Edit2->Text.ToInt(); //i_fs = 105

StaticText1->Caption = FormatFloat("0##.00",i_ds / i_fs ) ;

---------------------------
算出的结果为何不正确啊??显示值为: 003.00
倒......
h98458 2004-07-22
  • 打赏
  • 举报
回复
兄弟,这样:
FormatFloat("0.00",f_sd);
cczlp 2004-07-22
  • 打赏
  • 举报
回复
这样就行了:
AnsiString ss;
ss.printf(".02f%", f_sd);
3996906 2004-07-22
  • 打赏
  • 举报
回复
Format("0.00",a);
这样应该只有两位小数了
具体怎么用查bcb的help吧
gas0189 2004-07-22
  • 打赏
  • 举报
回复
你的意思是在界面上显示时只保留2位吧,
可以用FormatFloat函数。

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧