How do I format a number?

If you want to display some numbers that is formatted to a certain pattern, either in a Java Swing application or in a JSP file, you can utilize NumberFormat and DecimalFormat class to give you the format that you want. Here is a small example that will show you how to do it.

In the code snippet below we start by creating a double variable that contains some value. By default the toString() method of the double data type will print the money value using a scientific number format as it is greater than 10^7 (10,000,000.00). To be able to display the number without scientific number format we can use java.text.DecimalFormat which is a sub class of java.text.NumberFormat.

We create a formatter using DecimalFormat class with a pattern of #0.00. The # symbol means any number but leading zero will not be displayed. The 0 symbol will display the remaining digit and will display as zero if no digit is available.

package org.kodejava.example.text;

import java.text.DecimalFormat;
import java.text.NumberFormat;

public class DecimalFormatExample {
    public static void main(String[] args) {
        //
        // We have some millions money here that we'll format its look.
        //
        double money = 100550000.75;

        //
        // Creates a formatter
        //                
        NumberFormat formatter = new DecimalFormat("#0.00");

        //
        // Print the number using scientific number format and using our 
        // defined decimal format pattern above.
        //
        System.out.println(money);
        System.out.println(formatter.format(money));
    }
}

Here is the different result of the code above.

1.0055000075E8
100550000.75

Wayan Saryada

I am a programmer, a runner, an open water diver and currently living in the island of Bali, Indonesia. If you need help on Java programming you can hire me on Fiverr.

Leave a Comment.