Программа выводящая десятичные числа с определленным кол-вом чисел после точки - 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(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д