Точные типы в Java

100
12 ноября 2021, 01:00

Есть ли в Java точные типы? Потому что как мы знаем в float/double происходит потеря точности и деньги в таких типах хранить не стоит.

Answer 1

Класс java.math.BigDecimal/BigInterger. У них теоретически нет максимального размера. Теоретически, потому что не бывает компьютеров с бесконечным размером памяти. И если вы создаёте в программе число размером больше, чем размер памяти компьютера, конечно, программа работать не будет. Но такого рода случаи маловероятны.

Для чего используются эти классы?

Прежде всего, для вычислений с крайне высокими требованиями к точности. Есть, к примеру, программы, в которых от точности вычислений может зависеть человеческая жизнь (ПО для самолетов и ракет или для медицинского оборудования).

Поэтому, если даже 150-й разряд после запятой играет важную роль, BigDecimal — лучший выбор.

Кроме того, довольно часто эти объекты применяются в мире финансов, где точность вычислений вплоть до самых мелких значений тоже крайне важна.

Еще побольше можно прочитать тут.

READ ALSO
Не компилируется код vaadin

Не компилируется код vaadin

Суть задачи- получить с сервера json и вывести его в listbox вот DTO

218
Использование Whatsapp в своём приложении

Использование Whatsapp в своём приложении

Есть ли какой-нибудь способ встроить в своё приложение вход, отправку и получение сообщений от Whatsapp?

159
Сортировать массивы

Сортировать массивы

Нужно создать метод, который объединяет буквы или числа из двух массивов в одинНапример есть два массива - a и b, которые должны быть записаны...

66
Как прикреплять к каждому пользователю в MySQL одну таблицу с правом ее изменять

Как прикреплять к каждому пользователю в MySQL одну таблицу с правом ее изменять

Хочу чтобы на каждого User в MySql создавался table с названием user'а Например создаю пользователя с именем John даю ему право Insert и Update для таблицы...

89