注册 登录
编程论坛 C++教室

一个小问题~

kisscjy 发布于 2007-08-06 15:50, 458 次点击

#include <iostream>
using namespace std;
void main()
{
double x=1233.76898;
cout<<x<<endl;

cout.precision(8);//设置输出精度
cout<<x<<endl;

cout.precision(7);//为什么cout.precision(8)与cout.precision(7)的输出结果是一样的???
cout<<x<<endl;

}

希望大家可以给出正确的解答~

[此贴子已经被作者于2007-8-6 15:50:47编辑过]

3 回复
#2
medicihophy2007-08-06 16:13
这有什么奇怪的:
你的x=1233.76898
当精度为8时
应该输出8位(小数点除外)则结果是:1233.7690(最后一个8进了一位)一般默认这个0是不输出的,所以就输出1233.769
当精度为7时,道理一样,就不用我多说了吧!
你可以把数字设定为:x=1233.76111就容易看了!
#3
kisscjy2007-08-06 20:08
谢谢了~~~
#4
狂人老大2007-08-06 23:21
原来最后一位0是不输出的诶~~~~~
1