130 likes | 188 Views
CPS120: Introduction to Computer Science. Formatted I/O. Formatted Output -- Currency. cout.setf(ios : : fixed) Print “fixed point” form, not in exponential form cout.setf(ios : : showpoint) Says to always print the decimal point cout.precison(2)
E N D
CPS120: Introduction to Computer Science Formatted I/O
Formatted Output -- Currency cout.setf(ios : : fixed) • Print “fixed point” form, not in exponential form cout.setf(ios : : showpoint) • Says to always print the decimal point cout.precison(2) • Says to print out the two most significant decimal digits, after rounding to this precision
Line Spacing • In order to end a line in an output statement you may use the new line character, \n, instead of endl. • Examples: cout << "Hello world" << '\n'; cout << "Hello world" << "\n"; cout << "Hello world\n"; • These are practically equivalent to: cout << "Hello world" << endl;
Escape Sequences • Other useful "escape sequences" (since the \ is the escape operator) are: \t to generate a tab \\ to print a backslash \' to print a single quote \" to print a double quote
Using setf and unsetf • Each stream has format options that can be changed OPTIONDESCRIPTION left Left-justifies the output right Right-justifies the output showpoint Displays decimal point and trailing zeros forfloats uppercase Displays e in scientific as E showpos Displays a leading plus sign scientific Displays floating point number scientifically fixed Displays floating-point in normal notation
Using Format Options • Format options are set immediately prior to the COUT statement float x = 24.0; cout << x << ‘\n’; // displays 24 cout.setf(ios::showpoint); cout << x << ‘\n’; // displays 24.00000 cout.unsetf(ios::showpoint); cout << x << ‘\n’; // displays 24
Using Manipulators • You must include the <iomanip.h> header file at the top of your program in order to use the setprecision, setw, and other manipulators. You must use place the following compiler directive at the top of your program.#include <iomanip.h> • I/O manipulators are placed directly in the output statement cout << setprecision(2) << price << ‘\n’;
Setting Precision • The setprecision manipulator allows you to limit the number of digits that are displayed when a numeric data type is displayed: cout << setprecision(2) << price << '\n'; only allows the leading two digits of the value stored in the variable, price, to be displayed
More Precisely • If the fixed format was set previously with the statement: cout.setf(ios::fixed); then the setprecision(2) manipulator would have the effect of rounding or truncating price (and all future floating-point values in the cout stream) to the hundredths place
Field Width • The setw manipulator controls the width of the field when displaying a value. The statement: cout << setw(10) << umEndow << endl; sets the width of the field allocated for the variable, umEndow, to 10 characters
Formatting Numbers for Output double price; price = 78.5; cout << "The price is $"; cout << price << endl; • We want the price to be $78.50
Magic Formula for Currency cout.setf(ios :: fixed); cout.setf(ios :: showpoint); cout.precision(2);
Formatted Output -- Currency cout.setf(ios : : fixed) • Print “fixed point” form, not in exponential form cout.setf(ios : : showpoint) • Says to always print the decimal point cout.precison(2) • Says to print out the two most significant decimal digits, after rounding to this precision