Форматирование double, возвращаемого из метода в Java

#java

#java

Вопрос:

У меня есть метод, который возвращает double. Например, когда я вызываю этот метод и печатаю его результат, он выводится 10.3333333 . Я бы хотел, чтобы метод возвращал что-то вроде 10.3 вместо этого.

Этот метод заключается в:

   public double getscore() { 
      int x=0;
      double x1=0;
      for (int i=0; i<3 ;i  ) {
          x =mark[i];
      }
      x1=x/3;
      return (x1);
 }
  

Ответ №1:

     double d = 1.234567;
    DecimalFormat df = new DecimalFormat("#.#");
    System.out.print(df.format(d));
  

ссылка

Ответ №2:

Используйте toFixed метод:

 return x1.toFixed(1) // Returns a string that rounds to one decimal place
  

Ответ №3:

Вы всегда можете сделать:

 String.format("%.1f",doubleValue);
  

чтобы получить строку с форматированным значением.

Если вы хотите преобразовать значение в double, вы можете сделать:

 double doubleValue = 10.333333;
doubleValue = java.lang.Double.parseDouble(String.format("%.1f",doubleValue))
//doubleValue is now 10.3