c++ 下的longdouble精确输出

在VS2005里,我输入了1.234234342342342作为longdouble型,然后用cout输出,就变成了1.23423,通过断点查看,发现这个变量值未变,那么怎样精确输出这个数呢?

一般来说double型的数据也是以%f来输出,通常会输出到小数点后面第6位。如果要显示小数点后的第7位数据,需要加上额外数字的限定符,例如显示一个double型的数据到小数点后10位,就可以使用如下格式输出:printf("%.10f",(double)5/(double)7);,如果是long double型的数据使用"%.10Lf"来显示十位小数就可以了,double型的数据最多可以输出到小数点后面的16位,再多的就会显示0了,这取决于编译器所能处理的最精确值。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-07-06
setw()
第2个回答  2011-07-06
这个精确输出很难说 因为程序不知道输出几位小数才算精确
你可以指定输出的小数位数
setprecision 和 setw
看一下我给你的参考资料

参考资料:http://blog.csdn.net/zhangxin2208/article/details/1522390

本回答被提问者采纳

c++ 下的longdouble精确输出
一般来说double型的数据也是以%f来输出,通常会输出到小数点后面第6位。如果要显示小数点后的第7位数据,需要加上额外数字的限定符,例如显示一个double型的数据到小数点后10位,就可以使用如下格式输出:printf("%.10f",(double)5\/(double)7);,如果是long double型的数据使用"%.10Lf"来显示十位...

dev c++中 long double如何输出
long double 在Dev-C++中只能cout printf一般不好使 原因是Dev-C++的header认为long double是12Bytes的 但是printf却认为long double是8Bytes的 所以printf无法输出long double 这是Dev-C++一个已知的bug

c++ double型变量为什么编译后只能显示5位小数?
long double 其实就是双精度的浮点型,在vc6里如果没有在输出控制函数里写出控制输出符的话,默认的是都是输出6位数的

c++ 的float double long 等的输出问题
double和float是四字节浮点类型,其中有23bit用来存储有效值,2^23约等于8百万,相当于7~8位有效数字。也就是,无论如何,他只能存储7~8位有效数字,如果你的数字过大(>2^23),后面肯定会是零,这也正是浮点计数的特点!而long double是八字节浮点类型,其中有52bit用来存储有效值,大概提供16~1...

C++中,如何精确输入输出取值范围大过long的整数(比如一个20位的整数...
用一个字符串接收输入就行了。

C++中 double、 long double表示的数据范围一样那他们有什么区别_百 ...
在很多编译器中,double的精度不如long double。在VC6.0中double和long double一样都是分配8个字节,15位有效数字;但是在GCC中long double分配12个字节,精确度自然就比double高出四个数量级。double,即double float数据类型,是双精度浮点型的数据。计算机中表示实型变量的一种变量类型。此数据类型与...

大学C++题目 输出long double型数12345.67891023456的二进制内码_百度...
long double aaa = 12345.67891023456;char* p = (char*)&aaa;for (int i = 0; i < sizeof(aaa); i++){ printf("%X ", p[i]);}

C\/C++中怎样尽量长的输出小数位位数?
如果是他们默认格式,float只能有6-7位有效数字,double可以有17-18位有效数字。不能再高了,如果想有更多位的有效数字,只能自己设计算法,编写相应的程序。不然是没有办法的

C++ 输出超过18位整数
用float或double转成整型都有精度损失,float精确6位,double 16位,有的编译器可能利用了80位的long double,那就不知道了。我想你可以直接使用long long int include <iostream> using namespace std;int main(){ float a = 3.14159265358979323e+18;double b = 3.14159265358979323e+18;long long...

C++中,long double和long型的区别和联系是?刚才看书居然说都是8个字节...
float 有效数字6—7位 double 有效数字15—16位 long double有效数字18—19位 整 数 整 型 int 4字节 短整型 short int 2字节 长整型 long int 8字节 浮点数 单精度浮点数 float 4字节 双精度浮点数 double 8字节 ...

相似回答
大家正在搜