The Formatter class (in java.util) is used to format values into strings using a format string and arguments, similar to C-style printf. It supports locale-sensitive formatting and is often used behind the scenes in methods like String.format() and System.out.printf().


Scenarios


Sample Usage

public class FormatterExample {
    public static void main(String[] args) {
        String name = "Java";
        int version = 17;
        double score = 98.765;

        // Using String.format
        String formatted = String.format("Language: %s, Version: %d, Score: %.2f", name, version, score);
        System.out.println(formatted);

        // Using Formatter directly
        Formatter formatter = new Formatter();
        formatter.format("Hex of %d is %x", 255, 255);
        System.out.println(formatter.toString());

        formatter.close();
    }
}

Output

Language: Java, Version: 17, Score: 98.77
Hex of 255 is ff

Format Specifiers (Common)

With Locale

import java.util.Locale;

System.out.println(String.format(Locale.FRANCE, "Montant : %.2f €", 1234.56));

Use Formatter when you want clean, precise, and customizable output generation.


Classes
Quiz
Videos
References
Books