Double — 더블 래퍼 클래스

Double — 더블 래퍼 클래스

Double 클래스는 원시 타입 double의 값을 객체로 감쌉니다. Double 타입의 객체는 타입이 double인 단일 필드를 포함합니다. 또한 이 클래스는 doubleString으로, Stringdouble로 변환하는 여러 메서드와 그 외 double 처리에 유용한 상수·메서드를 제공합니다.

출처: Java API Reference

본문

이 클래스는 값 기반 클래스(value-based class)이므로, 프로그래머는 동일한 인스턴스를 서로 교환 가능하게 취급해야 하며 동기화에 인스턴스를 사용해서는 안 됩니다. 그렇게 하면 예측할 수 없는 동작이 발생할 수 있습니다.

public final class Double extends Number
    implements Comparable<Double>, Constable, ConstantDesc

부동소수점 값의 종류

IEEE 754 부동소수점 값은 유한한 0이 아닌 값, 부호 있는 0(+0.0과 -0.0), 부호 있는 무한대(양의 무한대와 음의 무한대), 그리고 NaN(숫자가 아님)을 포함합니다. 부동소수점 값에 대한 내장 == 연산은 동치 관계(equivalence relation)가 아닙니다. NaN은 어떤 값과도 같지 않고, +0.0과 -0.0은 ==로 같게 취급됩니다. 따라서 정밀한 비교가 필요하면 compareequals를 사용해야 합니다.

주요 필드

public static final double POSITIVE_INFINITY
public static final double NEGATIVE_INFINITY
public static final double NaN
public static final double MAX_VALUE
public static final double MIN_VALUE
public static final double MIN_NORMAL
public static final int SIZE            // 64
public static final int PRECISION
public static final int MAX_EXPONENT
public static final int MIN_EXPONENT
public static final int BYTES           // 8
public static final Class<Double> TYPE

주요 메서드

public static String toString(double d)
public static String toHexString(double d)
public static Double valueOf(String s) throws NumberFormatException
public static double parseDouble(String s) throws NumberFormatException
public static boolean isNaN(double v)
public static boolean isInfinite(double v)
public static boolean isFinite(double d)
public double doubleValue()
public static long doubleToLongBits(double value)
public static double longBitsToDouble(long bits)
public static int compare(double d1, double d2)
public static double sum(double a, double b)
public static double max(double a, double b)
public static double min(double a, double b)

더 알아보기 (Learn more)