I was looking around for the class to format a number to 2 decimal places while I was coding Java, or specifically JSP, and I found it.

First, you need to import the DecimalFormat class, so have this line at the top of your Java file:

import java.text.DecimalFormat;

Or if you’re running JSP:

<%@page import="java.text.DecimalFormat" %>

And here’s the actual code that does the magic:


double price = 10.59;
DecimalFormat priceFormatter = new DecimalFormat("$#0.00");
return priceFormatter.format(price);

That’s all there is to it! Simply change the Formatting string “$#0.00” to anything you wish. The pound (#) sign simply means there can be optional digits there. The two zero’s (0) to the right of the decimal place means that it has only 2 decimal places, and will be replaced by 0s if you don’t have digits there. Te $ sign right at the start is something that I put in, because I wanted to display my prices in dollars ($).

So for example, you can also have the formatting string as “#0.00 seconds more” and it’ll show “2343.36 seconds more”.

Similar Posts: