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