问题
How can I format Floats in Java so that the float component is displayed only if it's not zero? For example:
123.45 -> 123.45 99.0 -> 99 23.2 -> 23.2 45.0 -> 45
Edit: I forgot to mention - I'm still on Java 1.4 - sorry!
回答1:
If you use DecimalFormat and specify # in the pattern it only displays the value if it is not zero.
See my question How do I format a number in java?
Sample Code
DecimalFormat format = new DecimalFormat("###.##");
double[] doubles = {123.45, 99.0, 23.2, 45.0};
for(int i=0;i<doubles.length;i++){
System.out.println(format.format(doubles[i]));
}
回答2:
Check out the DecimalFormat class, e.g. new DecimalFormat("0.##").format(99.0) will return "99".
回答3:
new Formatter().format( "%f", myFloat )
来源:https://stackoverflow.com/questions/54487/conditional-number-formatting-in-java