It is used to sets the floatfield format flag for the str stream to scientific. When floatfield is set to scientific, floating-point values are written using scientific notation: the value is represented always with only one digit before the decimal point, followed by the decimal point and as many decimal digits as the precision field (precision). Finally, this notation always includes an exponential part consisting on the letter e followed by an optional sign and three exponential digits.
C++98The floatfield format flag is both a selective and a toggle flag: it can take one or more of the following values as shown below −
flag value effect when set fixed write floating-point values in fixed-point notation scientific write floating-point values in scientific notation. (none) write floating-point values in default floating-point notation. C++11The floatfield format flag is both a selective and a toggle flag: it can take any of the following values, or none as shown below −
flag value effect when set fixed write floating-point values in fixed-point notation. scientific write floating-point values in scientific notation. hexfloatwrite floating-point values in hexadecimal format.
The value of this is the same as (fixed|scientific)
Following is the declaration for std::scientific function.
ios_base& scientific (ios_base& str);Parameters
str − Stream object whose format flag is affected.
Return ValueIt returns Argument str.
ExceptionsBasic guarantee − if an exception is thrown, str is in a valid state.
Data racesIt modifies str. Concurrent access to the same stream object may cause data races.
ExampleIn below example explains about std::scientific function.
#include <iostream> int main () { double a = 3.1415926534; double b = 2006.0; double c = 1.0e-10; std::cout.precision(5); std::cout << "default:\n"; std::cout << a << '\n' << b << '\n' << c << '\n'; std::cout << '\n'; std::cout << "fixed:\n" << std::fixed; std::cout << a << '\n' << b << '\n' << c << '\n'; std::cout << '\n'; std::cout << "scientific:\n" << std::scientific; std::cout << a << '\n' << b << '\n' << c << '\n'; return 0; }
Let us compile and run the above program, this will produce the following result −
default: 3.1416 2006 1e-010 fixed: 3.14159 2006.00000 0.00000 scientific: 3.14159e+000 2.00600e+003 1.00000e-010
ios.htm
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4