function
<ios> <iostream>
std::defaultfloat
ios_base& defaultfloat (ios_base& str);
Use default floating-point notation
Sets the floatfield format flag for the str stream to defaultfloat.
When floatfield is set to defaultfloat, floating-point values are written using the default notation: the representation uses as many meaningful digits as needed up to the stream's decimal precision (precision), counting both the digits before and after the decimal point (if any).
The floatfield format flag is both a selective and a toggle flag: it can take any of the following values, or none:
flag value | effect when set |
fixed | write floating-point values in fixed-point notation. |
scientific | write floating-point values in scientific notation. |
hexfloat | write floating-point values in hexadecimal format.
The value of this is the same as (fixed|scientific) |
defaultfloat | write floating-point values in default floating-point notation. This is the value by default (same as none, before any other floatfield bit is set). |
For standard streams, the floatfield format flag is set to this value (defaultfloat) on initialization.
Parameters
- str
- Stream object whose floatfield format flag is affected.
Because this function is a manipulator, it is designed to be used alone with no arguments in conjunction with the insertion (<<
) and extraction (>>
) operations on streams (see example below).
Return Value
Argument str.
Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
// hexfloat floatfield
#include <iostream> // std::cout, std::hexfloat, std::defaultfloat
int main () {
double a = 3.1415926534;
double b = 2006.0;
double c = 1.0e-10;
std::cout.precision(5);
std::cout << "hexfloat:\n" << std::hexfloat;
std::cout << a << '\n' << b << '\n' << c << '\n';
std::cout << '\n';
std::cout << "defaultfloat:\n" << std::defaultfloat;
std::cout << a << '\n' << b << '\n' << c << '\n';
return 0;
}
| |
Possible output:
hexfloat:
0x1.921fb5p+1
0x1.f58000p+10
0x1.b7cdfep-34
defaultfloat:
3.14159
2006
1e-010
|
Data races
Modifies str. Concurrent access to the same stream object may cause data races.
Exception safety
Basic guarantee: if an exception is thrown, str is in a valid state.
See also
- fixed
- Use fixed floating-point notation (function
)
- scientific
- Use scientific floating-point notation (function
)
- hexfloat
- Use hexadecimal floating-point format (function
)
- ios_base::flags
- Get/set format flags (public member function
)
- ios_base::setf
- Set specific format flags (public member function
)
- ios_base::unsetf
- Clear specific format flags (public member function
)