Предположим, у меня есть десятичное значение в Java, которое представляет деньги.
Как лучше всего округлить эти значения?
Например, если у меня есть значение, рассчитанное на основе ставки налога, и я получаю результат, скажем, 5.3999999999999995
в качестве суммы налога, должен ли я округлить его до 2 знаков после запятой, просто выполнив следующее:
double d = 5.3999999999999995
BigDecimal bd = new BigDecimal(d).setScale(2, RoundingMode.HALF_EVEN);
d = bd.doubleValue();
для получения значения валюты:
5.40
double
для обозначения денежных сумм. - person Laurent Pireyn   schedule 06.05.2011double
s?Float
лучше? Я подумал, что лучше иметь больше точности, чем меньше, и поэтому использоватьdouble
s как можно больше. Но я рад, что меня поправили. - person Tom Currency   schedule 06.05.2011