I use fixed for standard notation and scientific for exponential. cout << fixed << 1500.0; prints 1500.000000, while cout << scientific << 1500.0; prints 1.500000e+03. For large or small numbers, scientific notation prevents overflow: cout << scientific << setprecision(2) << 0.00000123; prints 1.23e-06, showing the exact magnitude.
The default mode is automatic switching based on magnitude. For consistency in reports or tables, I explicitly choose fixed for normal values or scientific for extreme ranges.