Встречается на собеседованиях • сегодня

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

Для хранения денежных сумм в Java лучше использовать BigDecimal, так как он обеспечивает точные вычисления без ошибок округления, характерных для float и double.

java
import java.math.BigDecimal;

BigDecimal price = new BigDecimal("19.99");
BigDecimal tax = new BigDecimal("0.20");
BigDecimal total = price.multiply(tax.add(BigDecimal.ONE));

Почему не double?
Из-за двоичной арифметики с плавающей точкой возможны неточности (например, 0.1 + 0.2 ≠ 0.3).

Дополнительно:

  • Используй строковый конструктор (new BigDecimal("10.50")), чтобы избежать ошибок при парсинге.
  • Для округления применяй setScale() с RoundingMode.
java
BigDecimal rounded = total.setScale(2, RoundingMode.HALF_UP);
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы