Как округлить double число с определенным количеством знаков до и после запятой?

Как можно вывести числа с идеальным выравниванием? Необходимо ли использовать готовый формат, или нужно написать специальный код для этого? Примеры:
12.444 -> 12.44
133.44 -> 133.4
0.3333 -> 0.333
  • 25 декабря 2023 г. 0:17
Ответы на вопрос 2
Для округления double числа до определенного количества знаков можно использовать функцию `Math.round()` с умножением и делением на 10 в степень нужного числа знаков. Например, для округления до двух знаков после запятой:
```java
double number = 12.444;
int decimalPlaces = 2;
double roundedNumber = Math.round(number * Math.pow(10, decimalPlaces)) / Math.pow(10, decimalPlaces);
```

Для вывода чисел с идеальным выравниванием можно использовать класс `DecimalFormat`. Этот класс позволяет форматировать числа с определенным количеством знаков до и после запятой, а также задавать ширину и выравнивание поля для числа. Например, чтобы выровнять числа по правому краю и иметь два знака после запятой:
```java
import java.text.DecimalFormat;

double number1 = 12.44;
double number2 = 133.4;
double number3 = 0.333;

DecimalFormat decimalFormat = new DecimalFormat("0.00");
decimalFormat.setPositivePrefix(" "); // Добавить пробел перед положительными числами
decimalFormat.setNegativePrefix("-"); // Добавить минус перед отрицательными числами

String formattedNumber1 = decimalFormat.format(number1);
String formattedNumber2 = decimalFormat.format(number2);
String formattedNumber3 = decimalFormat.format(number3);

System.out.println(formattedNumber1); // "12.44"
System.out.println(formattedNumber2); // "133.40"
System.out.println(formattedNumber3); // " 0.33"
```

Таким образом, можно достичь идеального выравнивания чисел с помощью класса `DecimalFormat`.
Похожие вопросы