public static String formatAmountUpToTwoDecimalNumber(String amount)
{
if(amount==null || "".equals(amount))
{
return "";
}
Double doubleAmount = Double.valueOf(amount);
double myAmount = doubleAmount.doubleValue();
NumberFormat f = new DecimalFormat("###,###,###,###,##0.00");
String s = f.format(myAmount);
return s;
}
"###,###,###,###,##0.00"
, What exactly is the purpose of this pattern ? I believe it serves two purposes
But why there is "0"
instead of "#"
before decimal? what exactly is the purpose of this zero?
Thanks for the help.
DecimalFormat myFormatter = new DecimalFormat(pattern); String output = myFormatter. format(value); System. out. println(value + " " + pattern + " " + output);
DecimalFormat toPattern() method in Java Return Value: This method returns a string which represents the pattern which is used to format the current state of this DecimalFormat instance.
DecimalFormat isn't thread-safe, thus we should pay special attention when sharing the same instance between threads.
Symbol Location Localized? Meaning
0 Number Yes Digit
# Number Yes Digit, zero shows as absent
From: http://docs.oracle.com/javase/7/docs/api/java/text/DecimalFormat.html
So #
is not shown when there is no number. The leading 0
means there will be at least 1 digit before the decimal separator.
#
will put a digit only if it is not a leading zero. 0
will put a digit even if it is a trailing zero. You could use zeros in front, too, if you wanted a fixed number of digits printed.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With