怎么样才能四舍五入?

mark2003 2006-07-24 09:56:30
假设我有一个float类型的变量temp,例如他的值是3.1415678,而我只想保留后面2位小数,而且要求是四舍五入的,那么应该怎么使用代码实现?
...全文
251 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
MEFULEU 2006-07-24
  • 打赏
  • 举报
回复
String effectbit(double sc,int bit) //数据,有效位;
{
String s;
s="0";
if (bit>=1)
{
s=s+".0";
for (int i=1;i<bit;i++)
s+="0";
}

s=FormatFloat(s,sc);

return s;

}
ribut9225 2006-07-24
  • 打赏
  • 举报
回复
学习
xiaoshi0 2006-07-24
  • 打赏
  • 举报
回复
上面的应该是%.2f
BlueDeepOcean 2006-07-24
  • 打赏
  • 举报
回复
float f = 3.1455678;
AnsiString As = FormatFloat("#,###.##",f);
f = StrToFloat(As);
ShowMessage(FormatFloat("#,###.##",f);
xiaoshi0 2006-07-24
  • 打赏
  • 举报
回复
如果只想保留两位小数,在double和float类型下是不可能的,因为系统都会给你加上后面的精度。

如果要保存成字符串,那么就直接用"%.2d"就可以了
BlueDeepOcean 2006-07-24
  • 打赏
  • 举报
回复
#include <math.h>
#include <stdio.h>

int main(void)
{
double number = 123.54;
double down, up;

down = floor(number);
up = ceil(number);

printf("original number %5.2lf\n", number);
printf("number rounded down %5.2lf\n", down);
printf("number rounded up %5.2lf\n", up);

return 0;
}
flowercity 2006-07-24
  • 打赏
  • 举报
回复
mark

13,825

社区成员

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

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