What is the best way in Java to get a string from a float that contains only X digits after the dot?
Here are two ways to solve 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 for new line
%n
Source: http://download.oracle.com/javase/tutorial/java/data/numberformat.html
Is Float.toString() what are you after?
Float.toString()
See also the Formatter class for an alternative method.
Formatter