Программа выводящая десятичные числа с определленным кол-вом чисел после точки - Java

Узнай цену своей работы

Формулировка задачи:

Использовать класс java.text.DecimalFormat. Ниже приведен текст функции, возвращающей десятичную запись числа с заданным числом знаков после десятичной точки:
 public static String toS(double v, int d) {
 
    return toS(v,d,false);
 
  }
 
  public static String toS(double v, int d,
 
    boolean exponentForm)
 
  // Параметр exponentForm позволяет получить экспоненциальную форму записи
 
  {
 
    StringBuffer ptn= new StringBuffer("0");
 
    if (d>0) {
 
      ptn.append(".");
 
      for (; d>0; d—) ptn.append("0");
 
    }
 
    if (exponentForm) ptn.append("E0");
 
    DecimalFormat f= new DecimalFormat(
 
      ptn.toString());
 
    return f.format(v).replace(",",’.’);
 
      // без replace мы рискуем в некоторых странах – например, в России – получить десятичную запятую, а не точку
 
  }
помогите пожалуйста, нужно полность оформить с началом и вводом текста.

Решение задачи: «Программа выводящая десятичные числа с определленным кол-вом чисел после точки»

textual
Листинг программы
public class Lab {
 
    public static String toS(double v, int d) {
        return toS(v, d, false);
    }
 
    public static String toS(double v, int d, boolean exponentForm) {
        StringBuffer ptn = new StringBuffer("0");
        if (d > 0) {
            ptn.append(".");
            for (; d > 0; d--) {
                ptn.append("0");
            }
        }
        if (exponentForm) {
            ptn.append("E0");
        }
        DecimalFormat f = new DecimalFormat(ptn.toString());
        String result = f.format(v);
        char decSep = f.getDecimalFormatSymbols().getDecimalSeparator();
        return decSep != '.' ? result.replace(decSep, '.') : result;
    }
 
    public static void main(String[] args) throws Exception {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Enter number or exit: ");
        String input = scanner.next();
        while (input != null && !"exit".equals(input)) {
            double d = Double.parseDouble(input);
            System.out.println("Normal: " + toS(d, 10));
            System.out.println("Exponential: " + toS(d, 10, true));
            input = scanner.next();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.091 из 5
Похожие ответы