yy柳昊:C++中double型数值两种输出格式中,何时用指数形式,何时用小数点形式,请各位高手指点

来源:百度文库 编辑:高校问答 时间:2024/05/07 04:58:27
C++中double型数值两种输出格式中,何时用指数形式,何时用小数点形式,请各位高手指点

double
没区别 只是用户你自己考虑在某种情况下怎么弄就有得选择

----------------------------------------------------------------------------------------------
格式状态 说明
----------------------------------------------------------------------------------------------
ios::skipws 跳过输入流中的空白字符
ios::left 在域中左对齐输出,必要时在右边显示填充字符
ios:right 在域中右对齐输出,必要时在左边显示填充字符
ios::internal 表示数字的符号应在域中左对齐,而数字值应在域中右对齐(即在符号和数字之间填充字符
ios::dec 指定整数应作为十进制(基数10)值
ios::oct 指定整数应作为八进制(基数8)值
ios::hex 指定整数应作为十六进制(基数16)值
ios::showbase 指定在数字疥面输出进制(0表示八进制,0x或0X表示十六进制)
ios::showpoint 指定浮点数输出时应带小数点。这通常和ios::fixed一起使用保证小数点后面有一定位数
ios::uppercase 指定表示十六进制Rx应为大写,表示浮点科学计数法的e应为大写
ios::showpos 指定正数和负数前面分别加上正号或-号
ios::scientific 指事实上浮点数输出采用科学计数法
ios::fixed 指事实上浮点数输出采用定点符号,保证小数点后面有一定位数

-----------------------------------------------------------------------------------------------

例如:
i // Fig. 11.21: fig11_21.cpp
2 // Controlling the printing of trailing zeros and decimal
3 // points for floating-point values.
4 #include <iostream.h>
5 #include <iomanip.h>
6 #include <math.h>
7
8 int main()
9 {
10 cout << "Before setting the ios::showpoint flag\n"
11 << "9.9900 prints as: "<< 9.9900
12 << "\n9.9000 prints as: "<< 9.9000
13 << "\n9.0000 prints as: "<< 9.0000
14 << "\n\nAfter setting the ios::showpoint flag\n";
15 cout.setf( ios::showpoint );
16 cout << "9.9900 prints as: "<< 9.9900
17 << "\n9.90O0 prints as: "<< 9.9000
18 << "\n9.0000 prints as: "<< 9.0000 << endl;
19 return 0;
2O }

只是输出格式不同,想用那种方式都可以,意思是一样的。没有性能上的差别。