Имеется массив дробных чисел. {100.35, 200.46, 300.1, 400.89} требуется написать метод, который преобразует массив в строку, который перечисляет все элементы массива через запятую. При этом необходимо, чтобы форматирование было с двумя знаками после запятой. Написал код следующего характера. Просьба сильно не смеяться, т.к. я только начал учить джаву.
StringBuffer stringBuffer = new StringBuffer("");
DecimalFormat df = new DecimalFormat("###.##");
if (array.length != 0) {
for (int i = 0; i < array.length; i++) {
stringBuffer.append(df.format(array[i]) + ",");
}
stringBuffer.deleteCharAt(stringBuffer.lastIndexOf(","));
}
return stringBuffer.toString();
но вот вместо "100.35, 200.46, 300.10, 400.89" - мне выдается строка: "100.35, 200.46, 300.1, 400.89".
public class Test {
private final static DecimalFormat FORMATER = new DecimalFormat("#.00");
public static void main(String[] args) {
Double [] array = {100.35, 200.46, 300.1, 400.89};
System.out.println(arrayToString(array));
}
private static String arrayToString(final Double[] array) {
return Arrays.stream(array)
.map(d -> FORMATER.format(d))
.collect(Collectors.joining(", "));
}
}
Используйте 0
(показывает начальные/конечные нули) вместо #
(скрывает их) в форматной маске.
double d = 100.10;
String fMask = "###.##";
DecimalFormat df = new DecimalFormat(fMask);
System.out.println(d + "(" + fMask + "): " + df.format(d));
fMask = "###.00";
df = new DecimalFormat(fMask);
System.out.println(d + "(" + fMask + "): " + df.format(d));
d = 0.10;
System.out.println(d + "(" + fMask + "): " + df.format(d));
fMask = "##0.00";
df = new DecimalFormat(fMask);
System.out.println(d + "(" + fMask + "): " + df.format(d));
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Сделал приложение на JavaFX решил "скомпоновать" в приложениеРаботаю в Intellij IDEA лицензия, когда хочу создать модуль в Artifacts JavaFX Applicaton, при выборе...
Изучаю Java 3-4 месяца, дошел до многопоточностиРешил написать свою простую программу из того, что знаю
У меня есть функция, которая должна возвращать сразу 4 значенияКак сделать так, чтоб это стало возможным?