Java: Range of a double

A double is a 64-bit IEEE 754 floating point.

Min value (inclusive) and max value (inclusive):



or, equivalently

−1.111⋯1×21023 … 1.111⋯1×21023

The maximum value is available as a constant: Double.MAX_VALUE.

The minimum value is -Double.MAX_VALUE, and not Double.MIN_VALUE. For details, see Why's Double.MIN_VALUE is positive? Integer.MIN_VALUE is negative!

The constant Double.MIN_VALUE is the smallest value greater than 0, i.e. not the smallest possible value. (This constant corresponds to Epsilon in .NET.) For details, see Double.MIN_VALUE vs Double.MIN_NORMAL

See ranges of all primitive types here: Ranges of Primitive Types