A double has a much higher precision due to it's difference in size. If the numbers you are using will commonly exceed the value of a float, then use a double. Several other people have mentioned performance isssues.

Understanding the Context

That would be exactly last on my list of considerations. Correctness should be your #1 consideration. I've read about the difference between double precision and single precision. However, in most cases, float and double seem to be interchangeable, i.e.

Key Insights

using one or the other does not seem to affec... En double se pueden almacenar números más grandes y también más decimales. Con los números que has probado no se ve diferencia porque cout << redondea la representación interna para mostrar pocos decimales, y lo que ves en ambos casos es lo mismo, pero internamente no son iguales. A Double in Java is the class version of the double basic type - you can use doubles but, if you want to do something with them that requires them to be an object (such as put them in a collection), you'll need to box them up in a Double object. 20 Format %lf is a perfectly correct printf format for double, exactly as you used it.

Final Thoughts

There's nothing wrong with your code. Format %lf in printf was not supported in old (pre-C99) versions of C language, which created superficial "inconsistency" between format specifiers for double in printf and scanf. Possible Duplicate: long double vs double I am unable to understand the difference between between long double and double in C and C++. Can anyone help? Possible Duplicate: Java : different double and Double in comparison In a sample java program for one of my labs, I have two different methods taking Double and double parameters respectively. ...

Using long double I get 18/19 = 0.947368421052631578..., and 947368421052631578 is the repeating decimal. Using double I get 0.947368421052631526... However, the former is correct. Why such an inco...