解析C++ 浮点数的格式化输出
解析C++ 浮点数的格式化输出
发布时间:2016-12-28 来源:查字典编辑
摘要:C++格式化输出浮点数复制代码代码如下:#includeusingstd::cout;usingstd::endl;usingstd::fi...

C++格式化输出浮点数

复制代码 代码如下:

#include <iostream>

using std::cout;

using std::endl;

using std::fixed;

using std::scientific;

int main()

{

double x = 0.001234567;

double y = 1.946e9;

cout << "Displayed in default format:" << endl << x << '/t' << y << endl;

cout << "/nDisplayed in scientific format:" << endl << scientific << x << '/t' << y << endl;

cout << "/nDisplayed in fixed format:" << endl << fixed << x << '/t' << y << endl;

return 0;

}

Displayed in default format:

0.00123457 1.946e+009

Displayed in scientific format:

1.234567e-003 1.946000e+009

Displayed in fixed format:

0.001235 1946000000.000000

复制代码 代码如下:

#include <iostream.h>

main(void)

{

float a=100100.0, b=0.08;

cout.setf(ios::right|ios::scientific|ios::showpoint);

cout.width(20);

cout <<(-a*b);

return 0;

}

-8.008000e+003

复制代码 代码如下:

#include <iostream>

#include <iomanip>

#include <limits>

using std::cout;

using std::endl;

using std::setprecision;

using std::numeric_limits;

int main() {

const double pi = 3.14;

cout << endl;

for(double radius = .2 ; radius <= 3.0 ; radius += .2)

cout << "radius = "

<< setprecision(numeric_limits<double>::digits10 + 1)

<< std::scientific << radius<< " area = "

<< std::setw(10) << setprecision(6)<< std::fixed << pi * radius * radi

us << endl;

return 0;

}

radius = 2.0000000000000001e-001 area = 0.125600

radius = 4.0000000000000002e-001 area = 0.502400

radius = 6.0000000000000009e-001 area = 1.130400

radius = 8.0000000000000004e-001 area = 2.009600

radius = 1.0000000000000000e+000 area = 3.140000

radius = 1.2000000000000000e+000 area = 4.521600

radius = 1.3999999999999999e+000 area = 6.154400

radius = 1.5999999999999999e+000 area = 8.038400

radius = 1.7999999999999998e+000 area = 10.173600

radius = 1.9999999999999998e+000 area = 12.560000

radius = 2.1999999999999997e+000 area = 15.197600

radius = 2.3999999999999999e+000 area = 18.086400

radius = 2.6000000000000001e+000 area = 21.226400

radius = 2.8000000000000003e+000 area = 24.617600

复制代码 代码如下:

#include <iostream>

#include <iomanip>

#include <string>

using namespace std;

int main( ) {

ios_base::fmtflags flags = cout.flags( );

double pi = 3.14285714;

cout << "pi = " << setprecision(5) << pi << '/n';

cout.flags(flags);

}

pi = 3.1429

复制代码 代码如下:

#include <iostream>

#include <iomanip>

#include <math.h>

using namespace std;

int main()

{

double root2 = sqrt( 2.0 );

int places;

cout << setiosflags( ios::fixed)

<< "Square root of 2 with precisions 0-9./n"

<< "Precision set by the "

<< "precision member function:" << endl;

for ( places = 0; places <= 9; places++ ) {

cout.precision( places );

cout << root2 << '/n';

}

cout << "/nPrecision set by the "

<< "setprecision manipulator:/n";

for ( places = 0; places <= 9; places++ )

cout << setprecision( places ) << root2 << '/n';

return 0;

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新C语言学习
热门C语言学习
编程开发子分类