Мне нужно показать один элемент в научной записи. Cout расположен в нескольких циклах и после установки научной нотации, он влияет на весь Cout в программе.
Как я могу вернуться к обычной записи.
Это строчка:
cout << "Firing '" << fir << "' Time: " << time << " sec\nCorresponding altitude: " << scientific << alt << endl;
В научной нотации должна быть указана только переменная alt.
Я добавил cout.precision (2); и кут << фиксированный; после строки выше, но это также влияет на другой cout в программе.
Я ценю вашу помощь.
Попробуйте что-то вроде этого:
http://www.cplusplus.com/reference/ios/scientific/
cout << "Firing '" << fir << "' Time: " << time << " sec\nCorresponding altitude: ";
cout << std::scientific << alt << endl;
std::cout << std::defaultfloat; // C++ 11
… или же …
std::cout.unsetf ( std::ios::floatfield ); // C++ 98
Смотрите также:
http://www.cs.duke.edu/courses/cps149s/fall99/resources/n2.html
http://www.uow.edu.au/~lukes/TEXTBOOK/notes-cpp/io/omanipulators.html
Ну, прежде чем установить точность, вы можете сохранить его с cout.precision()
в переменной. После того, как вы сделали, используя точность, установленную на 2, вернитесь туда, где она использовала переменную. то есть cout.precision(precision)
Предполагая, что «точность» является вашей переменной.
пример:
выход:
1.2
1,234
#include <iostream>
using namespace std;
int precision;
float number = 1.234;
int main(void)
{
precision = cout.precision();
cout.precision(2);
cout << number << endl;
cout.precision(precision);
cout << number << endl;
}