Java Reference
In-Depth Information
print but allows you to add formatting instructions that specify such things as the
number of digits to include after a decimal point. For example, consider the following:
double price = 19.8;
System.out.print("$");
System.out.printf("%6.2f", price);
System.out.println(" each");
This code outputs the following line:
$ 19.80 each
The line
System.out.printf("%6.2f", price);
outputs the string " 19.80" (one blank followed by 19.80 ), which is the value of the
variable price written in the format %6.2f . In these simple examples, the first argument
to printf is a string known as the format specifier , and the second argument is
the number or other value to be output in that format. Let's explain this first sample
format specifier.
The format specifier %6.2f says to output a floating-point number in a field
(number of spaces) of width 6 (room for six characters) and to show exactly two
digits after the decimal point. So, 19.8 is expressed as “19.80” in a field of width 6.
Because "19.80" has only five characters, a blank character is added to obtain the six-
character string " 19.80" . Any extra blank space is added to the front (left-hand end)
of the value output. That explains the 6.2 in the format specifier %6.2f . The f means
the output is a floating-point number, that is, a number with a decimal point. We will
have more to say about the character % shortly, but among other things, it indicates
that a format specification (in this case, 6.2f ) follows.
Before we go on, let's note a few details about the method printf . Note that the
first argument is a string that gives a format specifier. Also, note that printf , like
print , does not advance the output to the next line. The method printf is like
print , not like println , in this regard.
The first argument to printf can include text as well as a format specifier. For
example, consider the following variant on our example:
format
specifier
field width
double price = 19.8;
System.out.printf("$%6.2f each", price);
System.out.println();
This code also outputs the following line:
$ 19.80 each
The text before and after the format specifier %6.2f is output along with the formatted
number. The character % signals the end of text to output and the start of the
 
Search WWH ::




Custom Search