How to format a Java int or long with printf example

How use Java printf to format int values

It’s much easier to format an int with printf than compared to a float or double, because decimal precision is not a concern.

To use Java’s printf to format an int, long, short or byte value, follow these rules:

  1. Use %d as the placeholder specifier
  2. Precede the letter d with a comma to add a thousands group separator
  3. Add additional parameters to left or right justify, add a plus sign, or zero pad

java printf integer format

Java int printf example

Here is a simple example of both an int and a long being formatted with Java’s print function:

package com.mcnz.rps;

public class JavaPrintfIntExample {
  /* Java printf int code example. */
  public static void main(String[] args) {
    int eresting = 54321;
    long johns   = 98765L;
    System.out.printf("%,d :: %d", eresting, johns);
    /* Printf int example prints: 54,321 :: 98765 */
  }
}

Java int printf function explained

There are two key takeaways from this Java int printf example:

  • The %d specifier works for long, int, double and short datatypes
  • The inclusion of a comma adds a grouping separator for large numbers

Note: Be careful not to confuse the %d and %f specifiers.

The %d specifier is used for integer types, while %f can only be used with a Java float or double.

Java integer printf syntax

The full format for the Java printf function when used with an int is as follows:

% [flags] [width] specifier-character
Java int printf options and flags
printf option Function
 0 Numbers below the specified width will have zero padding
 + The plus sign will cause the integer to be preceded by a plus or minus
 , The comma will cause numbers to be grouped by the thousands
<space> A blank space with insert a minus for negative integers and a space for positive integers

Advanced Java in printf code example

Here is a more advanced application of the various flags, options and specifiers that can be used with printf and integer values:

package com.mcnz.rps;

public class JavaPrintfIntExample {
  /* Java printf int code example. */
  public static void main(String[] args) {
    int eresting = 54321;
    long johns   = 98765L;
    System.out.printf("%0,10d :: %+,7d", eresting, johns);
    /* Printf int example prints: 000054,321 :: +98,765 */
  }
}

Table of Java integer printf patterns

Here’s some sample code to generate a chart of different integer printf patterns in Java:

System.out.printf("------------------------------%n");
System.out.printf(" Java int printf chart%n");
System.out.printf(" (number: 123457890)%n");
System.out.printf("------------------------------%n");
System.out.printf("| %-8s | %s |%n", "PATTERN", "RESULT");
System.out.printf("------------------------------%n");
System.out.printf("| %-8s | %d |%n",      "%d",      123457890);
System.out.printf("| %-8s | %,d |%n",     "%,d",     123457890);
System.out.printf("| %-8s | %,15d |%n",   "%,15d",   123457890); 
System.out.printf("| %-8s | %+,15d |%n",  "%+,15d",  123457890);
System.out.printf("| %-8s | %-+,15d |%n", "%-+,15d", 123457890);
System.out.printf("| %-8s | %0,15d |%n",  "%0,15d",  123457890);

Sometimes it’s fun to format output with a Java printf chart.

Java integer printf example

Example code on how to format Java integer and long values with printf.

Format Output with Java printf Tutorials

Here are some great tutorials and examples on how to use printf to format Java output.

SearchAppArchitecture
SearchSoftwareQuality
SearchCloudComputing
SearchSecurity
SearchAWS
Close