#java #swing #bigdecimal
Создается переменная BigDecimal bet = new BigDecimal(0.00000010) и передается на сервер и он возвращает значение отличное от ожидаемого. Не понятно почему так.
Ответы
Ответ 1
При использовании конструктора, принимающего на вход double, возникает неприятная особенность, отмеченная в документации. Поскольку вещественное число при переводе в двоичную форму представляется, как правило, бесконечной двоичной дробью, то при создании объекта, например, BigDecimal(0.1), мантисса, хранящаяся в объекте, окажется очень большой. (ссылка на статью) Поэтому число будет сохранено неточно. В связи с этим лучше используйте конструктор, принимающий на вход строку: Bigdecimal bet = new Bigdecimal("0.00000010");
Комментариев нет:
Отправить комментарий