std::ios_base::precision
From cppreference.com
C++
Input/output library
| I/O manipulators | ||||
| Print functions (C++23) | ||||
| C-style I/O | ||||
| Buffers | ||||
(C++23) | ||||
(C++98/26*) | ||||
(C++20) | ||||
| Streams | ||||
| Abstractions | ||||
| File I/O | ||||
| String I/O | ||||
| Array I/O | ||||
(C++23) | ||||
(C++23) | ||||
(C++23) | ||||
(C++98/26*) | ||||
(C++98/26*) | ||||
(C++98/26*) | ||||
| Synchronized Output | ||||
(C++20) | ||||
| Types | ||||
| Error category interface | ||||
(C++11) | ||||
(C++11) |
std::ios_base
| Member functions | ||||
| Formatting | ||||
ios_base::precision | ||||
| Locales | ||||
| Internal extensible array | ||||
| Miscellaneous | ||||
| Member classes | ||||
| Member types | ||||
| streamsize precision() const; |
(1) | |
| streamsize precision( streamsize new_precision ); |
(2) | |
Manages the precision (i.e. how many digits are generated) of floating point output performed by std::num_put::do_put.
1) Returns the current precision.
2) Sets the precision to the given one. Returns the previous precision.
The default precision, as established by std::basic_ios::init, is 6.
Contents |
[edit] Parameters
| new_precision | - | new precision setting |
[edit] Return value
The precision before the call to the function
[edit] Example
Run this code
Output:
The default precision is 6 With default precision d is 12.3457 With high precision d is 12.345679
[edit] Defect reports
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
| DR | Applied to | Behavior as published | Correct behavior |
|---|---|---|---|
| LWG 189 | C++98 | 'precision' was defined as 'the number of digits after the decimal point', but it is not correct in some cases |
corrected |
[edit] See also
| manages field width (public member function) [edit] | |
| changes floating-point precision (function) [edit] |