Как я могу отформатировать число с плавающей точкой в ​​Java с заданным количеством цифр после десятичной точки? - PullRequest
4 голосов
/ 14 августа 2011

Каков наилучший способ в Java получить строку из числа с плавающей точкой, который содержит только X цифр после точки?

Ответы [ 3 ]

6 голосов
/ 14 августа 2011

Вот два способа решения проблемы.

    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);
}
4 голосов
/ 14 августа 2011
  double pi = Math.PI;
  System.out.format("%f%n", pi);    //  -->  "3.141593"    
  System.out.format("%.3f%n", pi);  //  -->  "3.142"

примечание: %n для новой строки

Источник: http://download.oracle.com/javase/tutorial/java/data/numberformat.html

3 голосов
/ 14 августа 2011

Является ли Float.toString() тем, что вы ищете?

См. Также класс Formatter для альтернативного метода.

...