Here a few examples:
(The output is shown within double quotes in the embedded comment)
Note : System.out.format() = System.out.printf()
import java.util.Calendar;
import java.util.Locale;
public class TestFormat {
public static void main(String[] args) {
long n = 461012;
System.out.format("%d%n", n); // --> "461012"
System.out.format("%08d%n", n); // --> "00461012"
System.out.format("%+8d%n", n); // --> " +461012"
System.out.format("%,8d%n", n); // --> " 461,012"
System.out.format("%+,8d%n%n", n); // --> "+461,012"
double pi = Math.PI;
System.out.format("%f%n", pi); // --> "3.141593"
System.out.format("%.3f%n", pi); // --> "3.142"
System.out.format("%10.3f%n", pi); // --> " 3.142"
System.out.format("%-10.3f%n", pi); // --> "3.142"
System.out.format(Locale.FRANCE,
"%-10.4f%n%n", pi); // --> "3,1416"
Calendar c = Calendar.getInstance();
System.out.format("%tB %te, %tY%n", c, c, c); // --> "May 29, 2006"
System.out.format("%tl:%tM %tp%n", c, c, c); // --> "2:34 am"
System.out.format("%tD%n", c); // --> "05/29/06"
}
}
(source)
Answer from DeMarco on Stack Overflowjava - how do I use System.out.printf? - Stack Overflow
java - How to use System.out.printf - Stack Overflow
Trying to understand System.out.printf
System.out.printf or System.out.println
Videos
As per the Formatter docs, %d is a conversion for an integral value, which wouldn't work for doubles. You'll want to convert them to integers. Why would you represent month, day, and year as floating point numbers, anyway? You'd be much better off using a Date and using an appropriate formatter for date values.
If you must use doubles for those values, you'll want %f instead of %d.
Like C's sprintf, Strings may be formatted using the static method String.format:
// Format a string containing a date.
import java.util.Calendar;
import java.util.GregorianCalendar;
import static java.util.Calendar.*;
Calendar c = new GregorianCalendar(1995, MAY, 23);
String s = String.format("Duke's Birthday: %1$tm %1$te,%1$tY", c);
// -> s == "Duke's Birthday: May 23, 1995"
What are the arguments you can use for it? How is it used? How does it differ from other print methods. Looks like there might different operators it uses to. I'm new so excuse my ignorance. :)