Retain precision with Doubles in java?

Possible Duplicate:
Why do I see a double variable initialized to some value like 21.4 as 21.399999618530273?

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

    double total = 0;
    total += 5.6;
    total += 5.8;

Which returns

Okay clarifying the question a bit: how would I get this to just print (or be able to use it as) 11.4?

When you type 33.33333333333333, the value you get is actually the closest representable double-precision value, which is exactly:



Dividing that by 100 gives:



which also isn't representable as a double-precision number, so again it is rounded to the nearest representable value, which is exactly:



When you print this value out, it gets rounded yet again to 17 decimal digits, giving: