EDUCBA

EDUCBA

MENUMENU
  • Free Tutorials
  • Free Courses
  • Certification Courses
  • 600+ Courses All in One Bundle
  • Login

C++ setprecision

Home » Software Development » Software Development Tutorials » C ++ Programming Tutorial » C++ setprecision

C++ setprecision

Introduction to C++ setprecision() Function

The setprecision is a manipulator function in C++ which is used to sets the decimal precision of floating-point values on output operations. This setprecision is the built-in function defined in <iomanip> header file in C++. The decimal number could contain an infinite length number which requires an infinite memory to store, but the decimal number is to be store in 4 or 8 bytes of memory. Hence some of the digits lost and store only a significant number of digits. Therefore to keep the significant number of digits without loss of information the precision of a floating-point number can be defined. If an inserted or extracted operator is modified the stream object and the concurrent access to the same stream object may create the data race condition. If the stream is in a valid state then an exception is thrown by setprecision() function.

Syntax of C++ setprecision

Below is the declaration of the setprecision() function in C++ is:

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

setprecision(int n);

Parameters of C++ setprecision Function:

n – n is the int parameter which is specified the floating-point value decimal precision.

The return value of this function is not defined it just used as a manipulator for the stream.

Examples of setprecision() Function in C++

Below are the examples of C++ setprecision:

Example #1

We write the C++ code to understand the setprecision() function more clearly with the following example where we use setprecision() function used to set the different decimal number, as below:

Code:

#include <iostream>
#include <iomanip>
int main ()
{
double dp = 1.5678324;
std::cout << "setprecision(1) : " <<std::setprecision(1) << dp << std::endl;
std::cout << "setprecision(2) : " <<std::setprecision(2) << dp << std::endl;
std::cout << "setprecision(3) : " <<std::setprecision(3) << dp << std::endl;
std::cout << "setprecision(4) : " <<std::setprecision(4) << dp << std::endl;
std::cout << "setprecision(0) : " <<std::setprecision(0) << dp << std::endl;
std::cout << "setprecision(-1) : " <<std::setprecision(-1) << dp << std::endl;
std::cout << "setprecision(-2) : " <<std::setprecision(-2) << dp << std::endl;
return 0;
}

Popular Course in this category
C++ Training (4 Courses, 5 Projects, 4 Quizzes)4 Online Courses | 5 Hands-on Projects | 37+ Hours | Verifiable Certificate of Completion | Lifetime Access | 4 Quizzes with Solutions
4.5 (4,899 ratings)
Course Price

View Course

Related Courses
Java Training (40 Courses, 29 Projects, 4 Quizzes)C Programming Training (3 Courses, 5 Project)

Output:

C++ setprecision Example 1

As in the above code, the setprecision() function is used to set the different precision values for floating-point numbers like 0, 1, 2, 3, 4, -1, and -2. The positive precision numbers are working fine as we can see in the output, but the negative precision numbers are not working as expected it displaying in the default precision number that is 6.

Example #2

We write the C++ code to understand the setprecision() function where we display the default precision number, max precision number and then use the setprecision() function used to set the specific decimal precision number, as below:

Code:

#include <iostream>
#include <iomanip>
#include <limits>
using namespace std;
int main ()
{
double dp = 1.5678324;
cout<< "The default precision (6) is : " << dp << endl;
cout<< "The max precision is : " << setprecision(std::numeric_limits<double>::digits10 + 1);
cout<< dp << endl;
cout<< "The setprecision (7) is : " << setprecision(7) << dp << endl;
return 0;
}

Output:

C++ setprecision Example 2

As in the above code showing the default precision number, max precision number, and then set the specific precision number by using the setprecision() function. As in the output, we can see that the default precision number value is 6, the max precision number value is 8.

Example #3

We write the C++ code to understand the setprecision() function where we use the setprecision() function to set the specific decimal precision number and use the fixed to setup the decimal precision number fixed specified by the setprecision() function, as below:

Code:

#include <iostream>
#include <iomanip>
using namespace std;
int main ()
{
double dp = 1.567;
setprecision(7);
cout << "The decimal without fixed is : "<< dp << endl;
// Using fixed() function
cout << "The decimal with fixed is : "<< fixed << dp << endl;
return 0;
}

Output:

Decimal Example 3

As in the above code, the setprecision() function is used and set the precision values for the floating-point number to 7. Later in the code, the decimal number is printing which is printing the same as a store with the 4 decimal precision. And then in the code, the fixed-function is used which sets the floating-point values to fixed point notations as here it is set by the setprecision() function to 7, so now when the decimal number is printing, it is printing with the 7 fixed decimal precision.

Example #4

We write the C++ code to understand the setprecision() function where we use the setprecision() function to set the max decimal precision number and use the fixed to set up the max decimal precision number fixed specified by the setprecision() function, as below:

Code:

#include <iostream>
#include <iomanip>
#include <limits>
using namespace std;
int main ()
{
float fp = 233646.6776;
cout << fp<<endl;
setprecision(std::numeric_limits<float>::digits10 + 1);
cout << fixed<<fp;
return 0;
}

Output:

Float Example 4

As in the above code, the setprecision() function is used and set the max precision values for floating-point number. when in the float number is printing it is printing with the default precision that is 4, but the float number is of a large number of precision value. So we can set the fixed precision number to the max by using the setprecision() function to the max, so now when the decimal number is printing, it is printing with all its decimal precision.

Conclusion

The setprecision() function is a built-in function and acts as a manipulator function in C++ which is used to sets the decimal precision of floating-point values on output operations. To use setprecision() function in a program  we need to include the <iomanip> header file.

Recommended Article

This is a guide to C++ setprecision. Here we discuss the Introduction to C++ setprecision() Function and its Examples along with Code Implementation and Output. you can also go through our suggested articles to learn more –

  1. Recursive Function in C++
  2. Features of C++
  3. C++ find()
  4. C++ String Copy

C++ Training (4 Courses, 3 Projects, 4 Quizzes)

4 Online Courses

5 Hands-on Projects

37+ Hours

Verifiable Certificate of Completion

Lifetime Access

4 Quizzes with Solutions

Learn More

0 Shares
Share
Tweet
Share
Primary Sidebar
C plus plus Programming Tutorial
  • Advanced
    • C++ namespace
    • Encapsulation in C++
    • Access Modifiers in C++
    • Abstract Class in C++
    • C++ Class and Object
    • What is Template Class in C++?
    • C++ Algorithm
    • Data Structures and Algorithms C++
    • C++ Garbage Collection
    • Virtual Keyword in C++
    • Access Specifiers in C++
    • Storage Class in C++
    • Call by Value in C++
    • Multimap in C++
    • C++ Multiset
    • C++ Lambda Expressions
    • Stack in C++
    • C++ Static
    • C++ static_cast
    • Deque in C++
    • C++ Vector Functions
    • C++ 2D Vector
    • C++ List
    • C++ Mutable
    • Enum in C++
    • Abstraction in C++
    • Signal in C++
    • C++ Queue
    • Priority Queue in C++
    • Regular Expressions in C++
    • C++ Hash Table
    • File Handling in C++
    • C++ Stream
    • ifstream in C++
    • C++ ofstream
    • C++ fstream
    • C++ Read File
    • C++ iomanip
    • Macros in C++
    • Templates in C++
    • C++ setprecision
    • C++ Int to String
    • C++ thread( )
    • C++ Thread Pool
    • C++ thread_local
  • Basic
    • Introduction To C++
    • What is C++
    • Features of C++
    • Applications of C++
    • Best C++ Compiler
    • C++ Data Types
    • C++ Double
    • C++ unsigned int
    • User Defined Data Types in C++
    • Variables in C++
    • C++ Keywords
    • Pointers in C++
    • C++ Void Pointer
    • Function Pointer in C++
    • Iterator in C++
    • C++ Commands
    • Object in C++
    • C++ Literals
    • C++ Reference
    • C++ Undefined Reference
    • String in C++
    • C++ Programming Language (Basics)
    • C++ Identifiers
    • C++ Header Files
    • Type Casting in C++
    • C++ Formatter
  • Operators
    • C++ Operators
    • Arithmetic Operators in C++
    • Assignment Operators in C++
    • Bitwise Operators in C++
    • Relational Operators in C++
    • Boolean Operators in C++
    • Unary Operators in C++
    • C++ Operator[]
    • Operator Precedence in C++
    • C++ operator=()
  • Control Statements
    • Control Statement in C++
    • if else Statement in C++
    • Else If in C++
    • Nested if in C++
    • Continue Statement in C++
    • Break Statement in C++
    • Switch Statement in C++
    • goto Statement in C++
    • C++ Struct
    • Loops in C++
    • Do While Loop in C++
    • Nested Loop in C++
  • Functions
    • C++ String Functions
    • Math Functions in C++
    • Friend Function in C++
    • Recursive Function in C++
    • Virtual Functions in C++
    • strcat() in C++
    • swap() in C++
    • strcmp() in C++
    • ceil function in C++
    • C++ begin()
    • size() in C++
    • C++ test()
    • C++ any()
    • C++ Bitset
    • C++ find()
    • C++?Aggregation
    • C++?String append
    • C++ String Copy
    • C++ end()
    • C++ endl
    • C++ push_back
    • C++ shuffle()
    • malloc() in C++
    • C++ reserve()
    • C++ unique()
    • C++ sort()
    • C++ find_if()
    • Reflection in C++
    • C++ replace()
    • C++ search()
    • C++ Memset
    • C++ size_t
    • C++ Substring
    • C++ Max
    • C++ absolute value
    • C++ memcpy
    • C++ wchar_t
    • C++ free()
    • C++ sizeof()
    • C++ Move Semantics
  • Array
    • Arrays in C++
    • 2D Arrays in C++
    • 3D Arrays in C++
    • Multi-Dimensional Arrays in C++
    • C++ Array Functions
    • String Array in C++
    • C++ Length of Array
    • C++ arraylist
  • Constuctor and Destructor
    • Constructor and Destructor in C++
    • Constructor in C++
    • Destructor in C++
    • Copy Constructor in C++
    • Parameterized Constructor in C++
  • Overloading and overriding
    • Overloading and Overriding in C++
    • Overloading in C++
    • Overriding in C++
    • Function Overloading in C++
    • Function Overriding in C++
    • Method Overloading in C++
  • Inhertiance
    • Types of Inheritance in C++
    • Single Inheritance in C++
    • Multiple Inheritance in C++
    • Hierarchical Inheritance in C++
    • Multilevel Inheritance in C++
    • Hybrid Inheritance in C++
  • Sorting
    • Sorting in C++ 
    • Heap Sort in C++
    • C++ Vector Sort
    • Insertion Sort in C++
    • Selection Sort in C++
  • Programs
    • Patterns in C++
    • Star Patterns In c++
    • Swapping in C++
    • Reverse Number in C++
    • Palindrome Program in C++
    • Palindrome in C++
    • Factorial Program in C++
    • Fibonacci Series in C++
    • Square Root in C++
    • Random Number Generator in C++
    • Prime Number in C++
    • Leap Year Program in C++
    • Anagram in C++
    • Armstrong Number in C++
    • Reverse String in C++
    • Socket Programming in C++
    • Matrix Multiplication in C++
    • C++ using vs typedef
    • C++ vector vs list
    • C++ vector vs array
  • Interview question
    • C++ Interview Questions
    • Multithreading Interview Questions C++

Related Courses

C++ Training Course

Java Training Course

C Programming Course

Footer
About Us
  • Blog
  • Who is EDUCBA?
  • Sign Up
  • Corporate Training
  • Certificate from Top Institutions
  • Contact Us
  • Verifiable Certificate
  • Reviews
  • Terms and Conditions
  • Privacy Policy
  •  
Apps
  • iPhone & iPad
  • Android
Resources
  • Free Courses
  • Java Tutorials
  • Python Tutorials
  • All Tutorials
Certification Courses
  • All Courses
  • Software Development Course - All in One Bundle
  • Become a Python Developer
  • Java Course
  • Become a Selenium Automation Tester
  • Become an IoT Developer
  • ASP.NET Course
  • VB.NET Course
  • PHP Course

© 2020 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you
Book Your One Instructor : One Learner Free Class

Let’s Get Started

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the cookie policy. By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to our Privacy Policy

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA Login

Forgot Password?

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you

Special Offer - C++ Training (4 Courses, 3 Projects, 4 Quizzes) Learn More