Странное поведение чисел....

  • Автор темы sultan
  • Дата начала
S

sultan

#1
Всем привет! Делаю калькулятор(такой же как в Win XP), так вот когда хочу например штобы решило выражение (2.4 - 0.6) он выводит мне 1,799999998, как можно исправить эту проблему. В поисках решения объявлял переменные как double, так и BigDecimal, не хочет работать(такая же фигня выходит), с округлением правда работает, но округление здесь не совсем то што хотелось бы, просто когда я ввожу потом например (2,45- 0.6) он должен выводить 1.85, а он выводит 1.9 ну или 1.8, смотря в какую сторону окрутлять, вот поэтому округление не вариант. Может кто сталкивался с такой проблемой, подскажите
 
J

jmadhead

#2
Как вариант - это преобразовывать результат в float:
<!--shcode--><pre><code class='java'>System.out.println((float)(2.4-0.6));[/CODE]
Получишь более-менее ожидаемый результат.