Hello, I recommend reading Formatting Numeric Print Output will be useful! 
Excerpt from the source: These methods, format and printf, are equivalent to one other!
import java.util.Calendar;
import java.util.Locale;
public class TestFormat {
    public static void main(String[] args) {
      long n = 461012;
      System.out.format("%d%n", n);      //  -->  "461012"
      System.out.format("%08d%n", n);    //  -->  "00461012"
      System.out.format("%+8d%n", n);    //  -->  " +461012"
      System.out.format("%,8d%n", n);    // -->  " 461,012"
      System.out.format("%+,8d%n%n", n); //  -->  "+461,012"
      double pi = Math.PI;
      System.out.format("%f%n", pi);       // -->  "3.141593"
      System.out.format("%.3f%n", pi);     // -->  "3.142"
      System.out.format("%10.3f%n", pi);   // -->  "     3.142"
      System.out.format("%-10.3f%n", pi);  // -->  "3.142"
      System.out.format(Locale.FRANCE,
                        "%-10.4f%n%n", pi); // -->  "3,1416"
      Calendar c = Calendar.getInstance();
      System.out.format("%tB %te, %tY%n", c, c, c); // -->  "May 29, 2006"
      System.out.format("%tl:%tM %tp%n", c, c, c);  // -->  "2:34 am"
      System.out.format("%tD%n", c);    // -->  "05/29/06"
    }
}
							
							
						 
For coins, it is recommended to use Bigdecimal, or you will have disadvantages (or your customer rs) because float and double are terrible when it comes to decimal accuracy.
– user28595
Taking advantage of the previous comment, check based on Bigdecimal the formatting you want. http://stackoverflow.com/questions/5195837/format-float-to-n-decimal-places
– Don't Panic
I’ll switch to this one, wait.
– Aline
You can’t even use
double, norfloat. This is a mistake that you can’t fix without using the right guy, even if it looks like you did and that’s a danger because it’s easy to make it look like you did.– Maniero
Okay, got it... I’ve never used Bigdecimal before
– Aline