I have the following situation, when I give e.g. one number 10.55000, this number is rounded correctly to 10.55, then after adding 10.5501, everything is also fine because I get 21.1001, but in the next stage, when I add the number 10.55 I get the following result: 31.6501000001, and I should receive 31.6501. What should I do to get in stage 3 of 31.6501 instead of 31.6501000001.
This is my Numbers class:
class Numbers {
    private double result;
    private double currentNumber;
    public void calculateResult (double number) {
        currentNumber = number;
        result += currentNumber ;
    }
    public String getResult() {
        DecimalFormat decimalFormat = new DecimalFormat("#.##########");
        decimalFormat.setRoundingMode(RoundingMode.CEILING);
        return decimalFormat.format(result);
    }
}
This is my main method:
    Numbers numbers = new Numbers();
    numbers.calculateResult(10.55000);
    System.out.println(numbers.getResult());
    numbers.calculateResult(10.5501);
    System.out.println(numbers.getResult());
    numbers.calculateResult(10.55);
    System.out.println(numbers.getResult());
 
     
    