Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to always show decimal part when using DecimalFormat?

Float sum = new Float(300); // always somehow calculated
DecimalFormat df = new DecimalFormat("#.#");
String s = df.format(sum/3);  // prints 100, I want 100.0
s = df.format(301/3); // pritns 100.3 which is correct

Result should always be formatted to 1 decimal palce, how to do so?

like image 905
Xorty Avatar asked Aug 30 '10 15:08

Xorty


2 Answers

Change

DecimalFormat df = new DecimalFormat("#.#");

to

DecimalFormat df = new DecimalFormat("#.0");

Basically, a 0 means "always show the digit in this position", where a # means "show the digit in this position unless it's zero".

like image 144
GaryF Avatar answered Oct 04 '22 03:10

GaryF


You can read about the patterns here. Change the following line to should do the trick.

DecimalFormat df = new DecimalFormat("#.0");
like image 36
CoolBeans Avatar answered Oct 04 '22 03:10

CoolBeans