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”.
Hi Sir,
I want to format a number in JSP
Ex: if i have 10000 it should be displayed with number format as 10,000 and if its 1000000 it should be seperated by commas(,) as 1,00,000
Pl mail me as soon as possible
Regards
Jaffer
To properly format a number with the comma separator (usually for thousands like you’ve mentioned), try this:
System.out.printf( “%,.2f”, 12345678.9 );
It returns 12,345,678.90