0

Вечер добрый,господа,подскажите,почему вторая и третья переменная выдают такие длинные числа после запятой?

public class CalculatorTest {
    public static void main(String[] args) { 


         Calculator person1=new Calculator();
         person1.originalPrice=10;
         person1.findTotal();

         Calculator person2=new Calculator();
         person1.originalPrice=12;
         person1.findTotal();

         Calculator person3=new Calculator();
         person1.originalPrice=9;
         person1.findTotal();

         Calculator person4=new Calculator();
         person1.originalPrice=8;
         person1.findTotal();

         Calculator person5=new Calculator();
         person1.originalPrice=7;
         person1.findTotal();

         Calculator person6=new Calculator();
         person1.originalPrice=15;
         person1.findTotal();

         Calculator person7=new Calculator();
         person1.originalPrice=11;
         person1.findTotal();

         Calculator person8=new Calculator();
         person1.originalPrice=30;
         person1.findTotal();



public class Calculator {

    public double tax = 0.05;
    public double tip = 0.15;  
    public void findTotal(){

        double totalPrice=originalPrice*(1+tax+tip);
        System.out.println(totalPrice);

Результаты следующие:

12.0

14.399999999999999

10.799999999999999

9.6

8.4

18.0

13.2

36.0
0xdb
  • 51,614

1 Answers1

0

Используйте DecimalFormat класс позволяет с помощью выражений форматировать вывод.

double totalPrice = 10.799999999999999;

DecimalFormat decimalFormat = new DecimalFormat("###.#");
System.out.println(decimalFormat.format(totalPrice));