C++ манипулатор setprecision функцията се използва за контролиране на броя на цифрите на изходен поток, показващ стойност с плаваща запетая.
Този манипулатор е деклариран в заглавния файл.
Синтаксис
/*unspecified*/ setprecision (int n);
Параметър
н : нова стойност за десетичната точност.
обхождане на двоично дърво по ред
Върната стойност
Тази функция връща обект от неопределен тип. Функцията setbase трябва да се използва само като манипулатор на поток.
Състезания с данни
Поточният обект, в който е вмъкнат или извлечен, е модифициран и едновременният достъп до същия поток обект може да доведе до състезания за данни.
Изключения
Обектът е във валидно състояние, ако е хвърлено изключение.
какво прави компютъра бърз
Пример 1
Нека видим простия пример, за да демонстрираме използването на setprecision:
#include // std::cout, std::fixed #include // std::setprecision using namespace std; int main () { double f =3.14159; cout << setprecision(5) << f << ' '; cout << setprecision(9) << f << ' '; cout << fixed; cout << setprecision(5) << f << ' '; cout << setprecision(9) << f << ' '; return 0; }
Изход:
3.1416 3.14159 3.14159 3.141590000
Пример 2
Нека видим друг прост пример:
#include #include #include #include using namespace std; int main() { const long double pi = acos(-1.L); cout << 'default precision (6): ' << pi << ' ' << 'setprecision(10): ' << setprecision(10) << pi << ' ' << 'max precision:' << setprecision(numeric_limits::digits10 + 1) << pi << ' '; return 0; }
Изход:
default precision (6): 3.14159 setprecision(10): 3.141592654 max precision:3.141592653589793239
Пример 3
Нека видим друг прост пример:
#include #include using namespace std; int main (void) { float a,b,c; a = 5; b = 3; c = a/b; cout << setprecision (1) << c << endl; cout << setprecision (2) << c << endl; cout << setprecision (3) << c << endl; cout << setprecision (4) << c << endl; cout << setprecision (5) << c << endl; cout << setprecision (6) << c << endl; return 0; }
Изход:
стойност на низ java
2 1.7 1.67 1.667 1.6667 1.66667