Не могу обрезать переменную ошибка?

230
21 августа 2021, 10:40

Нужно чтобы переменная value приняла форматированное значение переменной Toast_otv

Так ошибка??

 double value= format(Locale.ENGLISH, "%.7f", Toast_otv);
Answer 1

@duna, переменная типа double не может быть отформатирована. Она занимает свои положенные 8 байт и имеет 16 разрядов в дробной части. Именно поэтому тип и называется "двойной". Потому что его разрядность в два раза больше, чем у типа "float" (8 разрядов после запятой).

double d = 13.0 / 7.0;
System.out.println(d); // В консоль выводится: 1.8571428571428572
float f = (float) d;
System.out.println(f); // В консоль выводится: 1.8571428

Однако, не всегда бывает удобно, когда в качестве результата отображается такое длинное представление числа. В этом случае можно отформатировать сам вывод. Число останется тем же, а на экране будет показан его отформатированный вид:

System.out.printf("%.2f", d); // В консоль выводится: 1,86

Если все-таки необходимо изменить само число до определенного знака после запятой, то можно его округлить. Метод round() округляет до ближайшего целого числа, поэтому, чтобы округлить число до 4-х разрядов после запятой, нужно сначала умножить его на 10 в 4-й степени (10000), затем округлить, а затем снова разделить на 10000. Вот так:

double r = Math.round(d * 10000) / 10000.0;
System.out.println(r);  // В консоль выводится: 1.8571

Делить нужно обязательно на 10000.0, а не просто на 10000. Это для того, чтобы результатом деления получил тип double, а не int.

Соответственно, для округления до 2-х разрядов после запятой:

double r = Math.round(d * 100) / 100.0;
System.out.println(r);  // В консоль выводится: 1.86
READ ALSO
Перевод с Gradle на Maven

Перевод с Gradle на Maven

Передо мной оказалась такая задача: перевести работающий проект с gradle на maven (ну так уж захотелось заказчику)У меня с этим возникли определенные...

173
С помощью чего написать интеграционные тесты для JMS

С помощью чего написать интеграционные тесты для JMS

Имеется сервер WebSphere на нём устанавливаются приложения ear, которые принимают и отправляют сообщения по JMSВозник вопрос, с помощью чего написать...

95
Помогите понять Random

Помогите понять Random

Вот строка

185
Как при клике применить класс в React?

Как при клике применить класс в React?

Подскажите как при клике на класс ("img"), выводить определеный класс info__skills?

185