Float类型数据保留两位小数怎么做?

天涯浪子 2002-02-19 04:31:54
Float类型数据经过乘除运算后,会有很长的小数,怎样才能按“四舍五入”保留两位小数呀?

我试图写一个方法实现它,但没有做到。
...全文
2305 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaohan13916830 2002-02-19
  • 打赏
  • 举报
回复
哎呀,这个我可就不知在BCB里怎样设置了,学习学习!
我以前用过BCB存取VFP表,在VFP里面可以修改字段属性,可以设定小数位长度.
BCB 2002-02-19
  • 打赏
  • 举报
回复
设置一下字段的 EditMask或类似属性.
天涯浪子 2002-02-19
  • 打赏
  • 举报
回复
数据库的字段是Float型,且界面用了数据感应控件。
xiaohan13916830(潇寒)兄说,可以直接设置小数位,请问怎么设置呀?
xiaohan13916830 2002-02-19
  • 打赏
  • 举报
回复
如果数据库的字段是浮点型,那不是就可以直接设置小数位数不就行了吗?
BCB 2002-02-19
  • 打赏
  • 举报
回复
数据库的此字段是什么类型呀,如果也是浮点类型,
就很难做到了,能不能改成字符串类型呀,
将浮点数变成字符串后再保存到字段中.



BCB 2002-02-19
  • 打赏
  • 举报
回复
我已经讲过了,浮点数不是十进制保存的,是二进格式的
f=int(f*100+0.5)/100.0; 没有用的,它仍变成二进制的,
会有一大串小数,白浪费机时.
最后显示的时候,再四舍五入显示出就可以了;
#include "stdio.h"
void __fastcall TForm1::Button1Click(TObject *Sender)
{
char buf[16];
float f=2.0/3.0;
sprintf(buf,"%0.4f",f);
Edit1->Text=buf;

}








天涯浪子 2002-02-19
  • 打赏
  • 举报
回复
完啦,好像xiaohan13916830(潇寒) 兄的方法也不行呀,还是有一大串小数。
还有什么高招呀?
天涯浪子 2002-02-19
  • 打赏
  • 举报
回复
BCB(天下三分明月夜,二分无赖是扬州)老兄,那么显示时能不能实现“四舍五入”呀?

我还是希望向数据库保存时就是保留两位小数的Float数据。

我试一下xiaohan13916830(潇寒) 兄的方法。

对了,请问怎么给分呀?
xiaohan13916830 2002-02-19
  • 打赏
  • 举报
回复
float f;
f=int(f*100+0.5)/100.0;
这样f就被四舍五入了
BCB 2002-02-19
  • 打赏
  • 举报
回复
存储时不要管它小数位数,因为它不是十进制;
显示时,再决定保留几位小数.

BCB 2002-02-19
  • 打赏
  • 举报
回复
存储时不要管它小数位数,因为它不是十进制;
显示时,再决定保留几位小数.

lshon 2002-02-19
  • 打赏
  • 举报
回复
用FormatFloat

13,825

社区成员

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

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