GWT. Какие инструменты есть у GWT для расчета комиссии 18%?

Как рассчитать комиссию 18% в GWT? Я могу просто умножить это на 0,18, но я думаю, что это не нормально для денег и научных расчетов. Мне нужен точный результат, с точным округлением.

Спасибо.


person MyTitle    schedule 03.02.2012    source источник
comment
Какой тип данных вы используете для суммы?   -  person Hauke Ingmar Schmidt    schedule 03.02.2012


Ответы (1)


Если вас беспокоят точные результаты, вам не следует использовать float или double для валют. Эти типы данных по своей сути неточны. Вы не можете отображать с ними много десятичных значений, поэтому округление бессмысленно. Они не подходят для валют.

Используйте BigDecimal для этой цели. В классе есть математические операции, которые возвращают точные значения в виде другого BigDecimal. Поддерживается в GWT с версии 2.1.

Для научных вычислений вам необходимо знать о точности типов с плавающей запятой. Он не является постоянным в диапазоне значений. Уместность этих типов зависит от обстоятельств.

person Hauke Ingmar Schmidt    schedule 03.02.2012
comment
извините, я не могу найти этот класс в официальных документах. Вы можете указать мне? Или вы имеете в виду стороннюю библиотеку gwt-math? - person MyTitle; 04.02.2012
comment
Только 1_. Упомянутая вами библиотека была необходима до того, как BigDecimal стала доступна в эмуляции JVM GWT. - person Hauke Ingmar Schmidt; 04.02.2012