How can I format a float in Java with a given number of digits after the decimal point?
What is the best way in Java to get a string out of a float, that contai开发者_JS百科ns only X digits after the dot?
Here are two ways of dealing with the problem.
public static void main(String[] args) {
final float myfloat = 1F / 3F;
//Using String.format 5 digist after the .
final String fmtString = String.format("%.5f",myfloat);
System.out.println(fmtString);
//Same using NumberFormat
final NumberFormat numFormat = NumberFormat.getNumberInstance();
numFormat.setMaximumFractionDigits(5);
final String fmtString2 = numFormat.format(myfloat);
System.out.println(fmtString2);
}
double pi = Math.PI;
System.out.format("%f%n", pi); // --> "3.141593"
System.out.format("%.3f%n", pi); // --> "3.142"
note: %n
is for newline
Source: http://download.oracle.com/javase/tutorial/java/data/numberformat.html
Is Float.toString()
what you're after?
See also the Formatter
class for an alternative method.
精彩评论