c++中小数点后输出精度的问题
比如我想输出double型变量,使得小数点后保留三位
请问该如何控制
问题点数:0、回复次数:12Top
1 楼lwjoho(扎扎实实打基础,保持一颗平常心。)回复于 2004-12-04 20:13:19 得分 0
#include <iostream.h>
#include <iomanip.h>
void main()
{
double p=3.1415;
cout<<setprecision(4)<<p<<endl;
}Top
2 楼malligator(十步之内没有我的爱人)回复于 2004-12-04 20:22:19 得分 0
cout<<setprecision(3)<<doub;Top
3 楼malligator(十步之内没有我的爱人)回复于 2004-12-04 20:33:34 得分 0
不好意思,回了贴才发现楼上有人了哈( 楼主问题太短了)
而且
setprecision(4)才是输出3位小数的,因为包括了小数点Top
4 楼malligator(十步之内没有我的爱人)回复于 2004-12-04 20:35:37 得分 0
但是
setprecision(1)是没有小数点输出的,因为7. 在c++里是非法的数据Top
5 楼qiqiyeye(BenQ打杂的@_@)回复于 2004-12-04 21:25:22 得分 0
呵呵,可以用c语言啊,反正c++也支持的
#include <stdio.h>
void main()
{
double dl=3.1415926;
printf("%10.3f",dl);
}Top
6 楼lyclowlevel(蓬蒿人)回复于 2004-12-04 21:38:40 得分 0
so easy!Top
7 楼koalapheonix()回复于 2004-12-05 09:11:13 得分 0
#include <iostream.h>
#include <iomanip.h>
void main()
{
double p=3.1415;
cout<<setprecision(4)<<p<<endl;
}
呵呵,可以用c语言啊,反正c++也支持的
#include <stdio.h>
void main()
{
double dl=3.1415926;
printf("%10.3f",dl);//前面的十是表示左对齐十个space
}
这两个回答都是对的
Top
8 楼zhengwei1984222(阿什坎迪.兄弟会之剑)回复于 2004-12-06 15:56:29 得分 0
#include <iostream.h>
#include <iomanip.h>
void main()
{
double p=3.1415;
cout<<setprecision(4)<<p<<endl;
}
这个怎么可能对
楼主要求的是小数点后3位
不是整个数的精度为4
换个12。1413就不对了Top
9 楼feixiang151()回复于 2004-12-15 22:34:06 得分 0
楼上说的对
我是想在小数点后控制三位
按照各位的说法
12.1413 输出 12.14 不符合我的要求Top
10 楼gzlucky(Lucky)回复于 2004-12-15 23:25:37 得分 0
printf ("%.3f", p );Top
11 楼crybird(寒号鸟)回复于 2004-12-16 00:07:24 得分 0
MSDN:printf
借宝地讨论下:
double a=123.4567890001;
有什么好方法让他截取到123.5679么
不要以下方法
1:转换成字符串再转换回来
2:(int(a*1000+0.5))/10000Top
12 楼crybird(寒号鸟)回复于 2004-12-19 20:35:33 得分 0
来个人啊,呵呵Top




