C++ 为什么数字像-1.7e+;007出现在结果中?[科学符号]
为什么这个奇怪的数字会出现在编译器上 我们预期结果为“正常数字” 10000000+12000000+15000000的相加为:370000000 10000000-12000000-15000000的减法为:−17000000 但它显示的是科学记数法 (值1+2)的加法为:3.7e+007 (value1-value2)的减法为:-1.7e+007C++ 为什么数字像-1.7e+;007出现在结果中?[科学符号],c++,C++,为什么这个奇怪的数字会出现在编译器上 我们预期结果为“正常数字” 10000000+12000000+15000000的相加为:370000000 10000000-12000000-15000000的减法为:−17000000 但它显示的是科学记数法 (值1+2)的加法为:3.7e+007 (value1-value2)的减法为:-1.7e+007 cout<<value1+value2; //Prints 3.7e+007 cout<<value1-value2; /
cout<<value1+value2; //Prints 3.7e+007
cout<<value1-value2; //Prints -1.7e+007
cout这是显示长非离散值的标准形式。(这就是std::cout
或printf
的工作原理。)这就是所谓的科学记数法
默认情况下,I/O流根据值为您选择浮点输出符号
可以使用I/O操纵器更改此设置。例如
std::strings;
使用“<代码> s,而不是共享整个程序,请考虑制作一个复制问题的小例子,然后发布。”HOLYBLCATE答案在回答部分中,您仍然需要制定一个以满足我们的质量标准。谢谢,我只是为了学习而测试浮点结果,我没有发现C++中的那些数字的信息,就像你解释的那样简单。再次感谢!:)您可以通过演示如何更改输出格式来改进答案。
//Remember to #include <iomanip>
cout << fixed << setprecision(1) << value1+value2;
cout << fixed << setprecision(1) << value1-value2;
std::stringstream s;
s << std::fixed;
s << "The addition of " << // etc ...