格式化浮点数

mosal 2012-01-16 06:14:43
有这样一个需求,是要求输出为4位精度。如:1->1.000, 999->999.0。想请教下高手们有没有直接的格式化方法(C或C++),实在不行,只能去比较了......
...全文
110 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
mosal 2012-01-17
  • 打赏
  • 举报
回复
恩,多谢,帮我省了几次判断啊!![Quote=引用 9 楼 yisikaipu 的回复:]

引用 8 楼 mosal 的回复:可是4位整数还是有问题,多了小数点.

这个没办法了,>=1000时另做处理好了
[/Quote]
yisikaipu 2012-01-17
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 mosal 的回复:]可是4位整数还是有问题,多了小数点.[/Quote]

这个没办法了,>=1000时另做处理好了
mosal 2012-01-16
  • 打赏
  • 举报
回复
可是4位整数还是有问题,多了小数点.[Quote=引用 7 楼 yisikaipu 的回复:]

C/C++ code
int main()
{
float f[]={1,999};
for(int i=0;i<sizeof(f)/sizeof(float);++i)
printf("%#.4g\n",f[i]);

return 0;
}
[/Quote]
yisikaipu 2012-01-16
  • 打赏
  • 举报
回复
int main()
{
float f[]={1,999};
for(int i=0;i<sizeof(f)/sizeof(float);++i)
printf("%#.4g\n",f[i]);

return 0;
}
arfi 2012-01-16
  • 打赏
  • 举报
回复
小数点前面能算是精度吗
mosal 2012-01-16
  • 打赏
  • 举报
回复
这个还是有问题,不满足基本需求[Quote=引用 4 楼 mosal 的回复:]

实际需求是我要把这个4位有效数字放入字符串中(通过snprintf), 所以 这招还是不大管用额....引用 3 楼 czh3642210 的回复:

C/C++ code

cout<<setprecision(4)<<x<<endl;//这个就能输出四位有效数字
[/Quote]
mosal 2012-01-16
  • 打赏
  • 举报
回复
实际需求是我要把这个4位有效数字放入字符串中(通过snprintf), 所以 这招还是不大管用额....[Quote=引用 3 楼 czh3642210 的回复:]

C/C++ code

cout<<setprecision(4)<<x<<endl;//这个就能输出四位有效数字
[/Quote]
面包大师 2012-01-16
  • 打赏
  • 举报
回复

cout<<setprecision(4)<<x<<endl;//这个就能输出四位有效数字
mosal 2012-01-16
  • 打赏
  • 举报
回复
这是小数点四位精度,跟需求不符呃。我只能想到比较了,毕竟浮点数整数小数部分是分开的[Quote=引用 1 楼 shenxinji 的回复:]

C/C++ code

printf("%.4f",x);
[/Quote]
黯然 2012-01-16
  • 打赏
  • 举报
回复

printf("%.4f",x);

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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