Win a copy of The Way of the Web Tester: A Beginner's Guide to Automating Tests this week in the Testing forum!

# Single precision /double precision?

Varun Goenka
Ranch Hand
Posts: 37
I have an idea as to what float and double are all about.
But dont understand what single precision and double precision mean.
How does one limit the accuracy of double variables to .........say 6 decimal places.

[ UD: removed superfluous duplicated questions marks ]

Campbell Ritchie
Sheriff
Posts: 50690
83
You can't limit the precision (not "accuracy") of a double to 6 significant [decimal] figures. A normalised double uses 53 bits of precision, which is 53 * log2 = 15.96 decimal places.
You can print out a double with the %e tag; you will have to check its details in Formatter, but you can probably get that to display 6 sig fig.

A double is classed as double-precision, using 64 bits; there are specifications for quadruple-precision floating point numbers (128 bits, not used in Java) and single-precision (32 bits, called float in Java). A normalised float has 24 bits' precision which is equivalent to 7.3 [decimal] significant figures, so that might solve your problem.