Как рассчитать комиссию 18% в GWT? Я могу просто умножить это на 0,18, но я думаю, что это не нормально для денег и научных расчетов. Мне нужен точный результат, с точным округлением.
Спасибо.
Как рассчитать комиссию 18% в GWT? Я могу просто умножить это на 0,18, но я думаю, что это не нормально для денег и научных расчетов. Мне нужен точный результат, с точным округлением.
Спасибо.
Если вас беспокоят точные результаты, вам не следует использовать float или double для валют. Эти типы данных по своей сути неточны. Вы не можете отображать с ними много десятичных значений, поэтому округление бессмысленно. Они не подходят для валют.
Используйте BigDecimal
для этой цели. В классе есть математические операции, которые возвращают точные значения в виде другого BigDecimal
. Поддерживается в GWT с версии 2.1.
Для научных вычислений вам необходимо знать о точности типов с плавающей запятой. Он не является постоянным в диапазоне значений. Уместность этих типов зависит от обстоятельств.
BigDecimal
стала доступна в эмуляции JVM GWT.
- person Hauke Ingmar Schmidt; 04.02.2012