JavaTM 2 Platform
Standard Ed. 5.0

java.lang
Ŭ·¡½º Double

java.lang.Object 
  »óÀ§¸¦ È®Àå java.lang.Number 
      »óÀ§¸¦ È®Àå java.lang.Double
¸ðµç ±¸ÇöµÈ ÀÎÅÍÆäÀ̽º:
Serializable, Comparable <Double >

public final class Double
extends Number
implements Comparable <Double >

Double Ŭ·¡½º´Â ¿ø½ÃÇü double°ªÀ» °´Ã¼¿¡ ·¦ ÇÕ´Ï´Ù. Double ÇüÀÇ °´Ã¼¿¡´Â ÇüÅ°¡ double ´ÜÀÏ Çʵ尡 Æ÷ÇԵ˴ϴÙ.

¶ÇÇÑ ÀÌ Å¬·¡½º´Â double¸¦ String¿¡ String¸¦ double·Î º¯È¯ÇÏ´Â °¢Á¾ ¸Þ¼­µå³ª, double 󸮽ÿ¡ µµ¿òÀÌ µÇ´Â Á¤¼ö ¹× ¸Þ¼­µåµµ Á¦°øÇÕ´Ï´Ù.

µµÀÔµÈ ¹öÀü :
JDK1. 0
°ü·Ã Ç׸ñ:
Á÷·ÄÈ­ µÈ Çü½Ä

ÇÊµå °³¿ä
static double MAX_VALUE
          double ÇüÀÇ Á¤ÀÇ ÃÖ´ë À¯ÇÑÄ¡ (2-2-52) ·21023 ÀÔ´Ï´Ù.
static double MIN_VALUE
          double ÇüÀÇ Á¤ÀÇ ÃÖ¼Ò À¯ÇÑÄ¡ 2-1074 ÀÔ´Ï´Ù.
static double NaN
          double ÇüÀÇ ºñ¼ö (NaN) Ä¡¸¦ º¸°ü À¯ÁöÇÏ´Â Á¤¼öÀÔ´Ï´Ù.
static double NEGATIVE_INFINITY
          double ÇüÀÇ ºÎÀÇ ¹«ÇÑ´ëÄ¡¸¦ º¸°ü À¯ÁöÇÏ´Â Á¤¼öÀÔ´Ï´Ù.
static double POSITIVE_INFINITY
          double ÇüÀÇ Á¤ÀÇ ¹«ÇÑ´ëÄ¡¸¦ º¸°ü À¯ÁöÇÏ´Â Á¤¼öÀÔ´Ï´Ù.
static int SIZE
          double Ä¡¸¦ ³ªÅ¸³»´Âµ¥ »ç¿ëµÇ´Â ºñÆ®¼ö
static Class <Double > TYPE
          double ¿ø½ÃÇü À» ³ªÅ¸³»´Â ClassÀνºÅϽºÀÔ´Ï´Ù.
 
»ý¼ºÀÚ °³¿ä
Double (double value)
          ¿ø½ÃÀû doubleÀμö¸¦ ³ªÅ¸³½´Ù, »õ·Ó°Ô ÇÒ´çÇÒ ¼ö ÀÖ´Â Double °´Ã¼¸¦ ±¸ÃàÇÕ´Ï´Ù.
Double (String  s)
          Ä³¸¯ÅÍ ¶óÀÎÀ¸·Î ³ªÅ¸³»Áö´Â double ÇüÀÇ ºÎµ¿ ¼Ò¼öÁ¡À» ³ªÅ¸³»´Â »õ·Ó°Ô ÇÒ´çÇÒ ¼ö ÀÖ´Â Double °´Ã¼¸¦ ±¸ÃàÇÕ´Ï´Ù.
 
¸Þ¼­µå °³¿ä
 byte byteValue ()
          ÀÌ Double°ªÀ» (byte¿¡ ij½ºÆ® ÇÏ´Â °ÍÀ¸·Î½á) byte·Î ¼­ ¸®ÅÏÇÕ´Ï´Ù.
static int compare (double d1, double d2)
          ÁöÁ¤µÈ 2°³ÀÇ double°ªÀ» ºñ±³ÇÕ´Ï´Ù.
 int compareTo (Double  anotherDouble)
          2°³ÀÇ Double °´Ã¼¸¦ ¼öÄ¡ÀûÀ¸·Î ºñ±³ÇÕ´Ï´Ù.
static long doubleToLongBits (double value)
          IEEE 754 ºÎµ¿ ¼Ò¼öÁ¡ÀÇ ¡¸´õºí Æ÷¸Ë (double format)¡¹ºñÆ® ·¹À̾ƿô¿¡ µû¶ó, ÁöÁ¤µÈ ºÎµ¿ ¼Ò¼öÁ¡ÀÇ °ªÀ» Ç¥ÇöÇØ ¸®ÅÏÇÕ´Ï´Ù.
static long doubleToRawLongBits (double value)
          IEEE 754 ºÎµ¿ ¼Ò¼öÁ¡ÀÇ ¡¸´õºí Æ÷¸Ë (double format)¡¹ºñÆ® ·¹À̾ƿô¿¡ µû¶ó, ºñ¼ö (NaN) Ä¡¸¦ º¸°ü À¯ÁöÇÏ´Â ÁöÁ¤µÈ ºÎµ¿ ¼Ò¼öÁ¡Ä¡ÀÇ Ç¥ÇöÀ» ¸®ÅÏÇÕ´Ï´Ù.
 double doubleValue ()
          ÀÌ Double °´Ã¼ÀÇ double°ªÀ» ¸®ÅÏÇÕ´Ï´Ù.
 boolean equals (Object  obj)
          ÀÌ °´Ã¼°¡ ÁöÁ¤µÈ °´Ã¼¿Í ºñ±³ÇÕ´Ï´Ù.
 float floatValue ()
          ÀÌ Double °´Ã¼ÀÇ float°ªÀ» ¸®ÅÏÇÕ´Ï´Ù.
 int hashCode ()
          ÀÌ Double °´Ã¼ÀÇ Çؽà Äڵ带 ¸®ÅÏÇÕ´Ï´Ù.
 int intValue ()
          ÀÌ Double°ªÀ» (int Çü¿¡ ij½ºÆ® ÇÏ´Â °ÍÀ¸·Î½á) int·Î ¼­ ¸®ÅÏÇÕ´Ï´Ù.
 boolean isInfinite ()
          ÀÌ Double°ªÀÇ Àý´ë°ªÀÌ ¹«ÇÑ·®ÀÎ °æ¿ì¿¡´Â true¸¦, ±×·¸Áö ¾ÊÀº °æ¿ì¿¡´Â false¸¦ ¸®ÅÏÇÕ´Ï´Ù.
static boolean isInfinite (double v)
          ÁöÁ¤µÈ ¼öÄ¡ÀÇ Àý´ë°ªÀÌ ¹«ÇÑ·®ÀÎ °æ¿ì¿¡´Â true¸¦, ±×·¸Áö ¾ÊÀº °æ¿ì¿¡´Â false¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 boolean isNaN ()
          ÀÌ Double°ªÀÌ ºñ¼ö (NaN)ÀÎ °æ¿ì¿¡´Â true¸¦, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false¸¦ ¸®ÅÏÇÕ´Ï´Ù.
static boolean isNaN (double v)
          ÁöÁ¤µÈ ¼ö°ªÀÌ ºñ¼ö (NaN)ÀÎ °æ¿ì¿¡´Â true¸¦, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false¸¦ ¸®ÅÏÇÕ´Ï´Ù.
static double longBitsToDouble (long bits)
          ÁöÁ¤µÈ ºñÆ® Ç¥Çö°ú ´ëÀÀÇÏ´Â double°ªÀ» ¸®ÅÏÇÕ´Ï´Ù.
 long longValue ()
          ÀÌ Double°ªÀ» (long Çü¿¡ ij½ºÆ® ÇÏ´Â °ÍÀ¸·Î½á) long·Î ¼­ ¸®ÅÏÇÕ´Ï´Ù.
static double parseDouble (String  s)
          Double Ŭ·¡½ºÀÇ valueOf ¸Þ¼­µå¸¦ ½ÇÇàÇßÀ» °æ¿ì¿Í °°°Ô, ÁöÁ¤µÈ String°¡ ³ªÅ¸³»´Â °ª¿¡ ÃʱâÈ­µÈ »õ·Î¿î double°ªÀ» ¸®ÅÏÇÕ´Ï´Ù.
 short shortValue ()
          ÀÌ Double°ªÀ» (short¿¡ ij½ºÆ® ÇÏ´Â °ÍÀ¸·Î½á) short·Î ¼­ ¸®ÅÏÇÕ´Ï´Ù.
static String toHexString (double d)
          doubleÀμöÀÇ 16 Áø¼ö ij¸¯ÅÍ ¶óÀΠǥÇöÀ» ¸®ÅÏÇÕ´Ï´Ù.
 String toString ()
          ÀÌ Double °´Ã¼ÀÇ Ä³¸¯ÅÍ ¶óÀΠǥÇöÀ» ¸®ÅÏÇÕ´Ï´Ù.
static String toString (double d)
          doubleÀμöÀÇ Ä³¸¯ÅÍ ¶óÀΠǥÇöÀ» ¸®ÅÏÇÕ´Ï´Ù.
static Double valueOf (double d)
          ÁöÁ¤ÇÑ double Ä¡¸¦ ³ªÅ¸³»´Â Double ÀνºÅϽº¸¦ ¸®ÅÏÇÕ´Ï´Ù.
static Double valueOf (String  s)
          Ä³¸¯ÅÍ ¶óÀÎ Àμö s·Î ³ªÅ¸³»Áö´Â double°ªÀ» º¸°ü À¯ÁöÇÏ´Â Double °´Ã¼¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 
Ŭ·¡½º java.lang. Object ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

ÇʵåÀÇ »ó¼¼

POSITIVE_INFINITY

public static final double POSITIVE_INFINITY
double ÇüÀÇ Á¤ÀÇ ¹«ÇÑ´ëÄ¡¸¦ º¸°ü À¯ÁöÇÏ´Â Á¤¼öÀÔ´Ï´Ù. Double.longBitsToDouble(0x7ff0000000000000L)¿¡ ÀÇÇØ ¸®ÅÏµÈ °ª°ú °°½À´Ï´Ù.

°ü·Ã Ç׸ñ:
Á¤¼ö Çʵ尪

NEGATIVE_INFINITY

public static final double NEGATIVE_INFINITY
double ÇüÀÇ ºÎÀÇ ¹«ÇÑ´ëÄ¡¸¦ º¸°ü À¯ÁöÇÏ´Â Á¤¼öÀÔ´Ï´Ù. Double.longBitsToDouble(0xfff0000000000000L)¿¡ ÀÇÇØ ¸®ÅÏµÈ °ª°ú °°½À´Ï´Ù.

°ü·Ã Ç׸ñ:
Á¤¼ö Çʵ尪

NaN

public static final double NaN
double ÇüÀÇ ºñ¼ö (NaN) Ä¡¸¦ º¸°ü À¯ÁöÇÏ´Â Á¤¼öÀÔ´Ï´Ù. Double.longBitsToDouble(0x7ff8000000000000L)¿¡ ÀÇÇØ ¸®ÅÏµÈ °ª°ú °°½À´Ï´Ù.

°ü·Ã Ç׸ñ:
Á¤¼ö Çʵ尪

MAX_VALUE

public static final double MAX_VALUE
double ÇüÀÇ Á¤ÀÇ ÃÖ´ë À¯ÇÑÄ¡ (2-2-52) ·21023 ÀÔ´Ï´Ù. 16 Áø¼ö ºÎµ¿ ¼Ò¼öÁ¡ ¸®ÅÍ·² 0x1.fffffffffffffP+1023·Î µ¿µîÇÏ°í, Double.longBitsToDouble(0x7fefffffffffffffL)¿Í µµ µ¿µîÇÕ´Ï´Ù.

°ü·Ã Ç׸ñ:
Á¤¼ö Çʵ尪

MIN_VALUE

public static final double MIN_VALUE
double ÇüÀÇ Á¤ÀÇ ÃÖ¼Ò À¯ÇÑÄ¡ 2-1074 ÀÔ´Ï´Ù. 16 Áø¼ö ºÎµ¿ ¼Ò¼öÁ¡ ¸®ÅÍ·² 0x0. 0000000000001P-1022·Î µ¿µîÇÏ°í, Double.longBitsToDouble(0x1L)¿Í µµ µ¿µîÇÕ´Ï´Ù.

°ü·Ã Ç׸ñ:
Á¤¼ö Çʵ尪

SIZE

public static final int SIZE
double Ä¡¸¦ ³ªÅ¸³»´Âµ¥ »ç¿ëµÇ´Â ºñÆ®¼ö

µµÀÔµÈ ¹öÀü :
1.5
°ü·Ã Ç׸ñ:
Á¤¼ö Çʵ尪

TYPE

public static final Class <Double > TYPE
double ¿ø½ÃÇü À» ³ªÅ¸³»´Â ClassÀνºÅϽºÀÔ´Ï´Ù.

µµÀÔµÈ ¹öÀü :
JDK1. 1
»ý¼ºÀÚ »ó¼¼

Double

public Double(double value)
¿ø½ÃÀû doubleÀμö¸¦ ³ªÅ¸³½´Ù, »õ·Ó°Ô ÇÒ´çÇÒ ¼ö ÀÖ´Â Double °´Ã¼¸¦ ±¸ÃàÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
value - Double¿¡ ÀÇÇØ ³ªÅ¸³»Áö´Â °ª

Double

public Double(String  s)
       throws NumberFormatException 
ij¸¯ÅÍ ¶óÀÎÀ¸·Î ³ªÅ¸³»Áö´Â double ÇüÀÇ ºÎµ¿ ¼Ò¼öÁ¡À» ³ªÅ¸³»´Â »õ·Ó°Ô ÇÒ´çÇÒ ¼ö ÀÖ´Â Double °´Ã¼¸¦ ±¸ÃàÇÕ´Ï´Ù. ij¸¯ÅÍ ¶óÀÎÀº, valueOf ¸Þ¼­µå¿Í °°°Ô double Ä¡¿¡ º¯È¯µË´Ï´Ù.

ÆĶó¹ÌÅÍ:
s - Double·Î º¯È¯Çϴ ij¸¯ÅÍ ¶óÀÎ
¿¹¿Ü:
NumberFormatException - ij¸¯ÅÍ ¶óÀÎÀÌ ±¸¹® ºÐ¼® °¡´ÉÇÑ ¼öÄ¡¸¦ Æ÷ÇÔÇÏÁö ¾Ê´Â °æ¿ì
°ü·Ã Ç׸ñ:
valueOf(java.lang.String)
¸Þ¼­µåÀÇ »ó¼¼

toString

public static String  toString(double d)
doubleÀμöÀÇ Ä³¸¯ÅÍ ¶óÀΠǥÇöÀ» ¸®ÅÏÇÕ´Ï´Ù. ¾Æ·¡ÀÇ ¹®ÀÚ´Â ¸ðµÎ ASCII ¹®ÀÚÀÔ´Ï´Ù. m ¶Ç´Â a ¼Ò¼öºÎ·Î¼­ Ãâ·ÂÇÏ´Â ÀÚ¸®¼ö¸¦ °ËÅäÇØ º¾½Ã´Ù. ¼Ò¼öºÎ¸¦ ³ªÅ¸³»´Â ÀÚ¸®¼ö´Â 1 ÀÚ¸®¼ö ÀÌ»óÀÌ ÇÊ¿äÇÕ´Ï´Ù. double ÇüÀÇ ÀÎÁ¢ÇÏ´Â °ªÀ¸·ÎºÎÅÍ Àμö¸¦ ÀÏÀÇ¿¡ ½Äº°Çϴµ¥ ÃÖÀúÇÑ ÇÊ¿äÇÑ ÀÚ¸®¼ö·ÎÀÇÇØ ÁÖ¼¼¿ä. ¿¹¸¦ µé¾î Á¦·Î°¡ ¾Æ´Ñ À¯ÇÑÀÇ Àμö¸¦ ÁöÁ¤ÇØ ÀÌ ¸Þ¼­µå·Î ÀÛ¼ºÇÑ 10 Áø¼ö Ç¥±â¸¦ x ·Î ÇÕ´Ï´Ù. ÀÌ °æ¿ì d´Â x double ÇüÀÇ ÃÖ±Ù ´à°í °ªÀÌ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù. Áï, 2°³ÀÇ double°ªÀÌ ±ÕµîÇÏ°Ô x¿¡ ±Ù»ç ÇÏ°í ÀÖ´Â °æ¿ìÀ̸é, d´Â 2°³ÀÇ °ªÀÇ ¾î´À ÂÊÀÎÁö ³ª¿ÀÁö ¾ÊÀ¸¸é ¾ÈµÇ¾î, À¯È¿ÇÑ ÃÖÇÏÁ¤µµ ºñÆ®´Â 0 ÀÌ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù.

ºÎµ¿ ¼Ò¼öÁ¡Ä¡ÀÇ Áö¿ª ´ëÀÀµÈ ij¸¯ÅÍ ¶óÀΠǥÇöÀ» ÀÛ¼ºÇÏ´Â °æ¿ì, NumberFormat ¼­ºê Ŭ·¡½º¸¦ »ç¿ëÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
d - º¯È¯ ´ë»óÀÇ double
¹Ýȯ°ª:
ÀÌ ÀμöÀÇ Ä³¸¯ÅÍ ¶óÀΠǥÇö

toHexString

public static String  toHexString(double d)
doubleÀμöÀÇ 16 Áø¼ö ij¸¯ÅÍ ¶óÀΠǥÇöÀ» ¸®ÅÏÇÕ´Ï´Ù. ¾Æ·¡ÀÇ ¹®ÀÚ´Â ¸ðµÎ ASCII ¹®ÀÚÀÔ´Ï´Ù.

·Ê

ºÎµ¿ ¼Ò¼öÁ¡Ä¡16 Áø¼ö ij¸¯ÅÍ ¶óÀÎ
1.0 0x1. 0p0
-1. 0 -0x1. 0p0
2.0 0x1. 0p1
3.0 0x1. 8p1
0.5 0x1. 0p-1
0.25 0x1. 0p-2
Double.MAX_VALUE 0x1.fffffffffffffp1023
Minimum Normal Value 0x1. 0p-1022
Maximum Subnormal Value 0x0.fffffffffffffp-1022
Double.MIN_VALUE 0x0. 0000000000001p-1022

ÆĶó¹ÌÅÍ:
d - º¯È¯ ´ë»óÀÇ double
¹Ýȯ°ª:
ÀμöÀÇ 16 Áø¼ö ij¸¯ÅÍ ¶óÀΠǥÇö
µµÀÔµÈ ¹öÀü :
1.5

valueOf

public static Double  valueOf(String  s)
                      throws NumberFormatException 
ij¸¯ÅÍ ¶óÀÎ Àμö s·Î ³ªÅ¸³»Áö´Â double°ªÀ» º¸°ü À¯ÁöÇÏ´Â Double °´Ã¼¸¦ ¸®ÅÏÇÕ´Ï´Ù.

s°¡ nullÀÎ °æ¿ì´Â NullPointerException°¡ ¹ß»ý µË´Ï´Ù.

s ³»ÀÇ ¼±µÎ¿Í ¸»¹ÌÀÇ °ø¹é ¹®ÀÚ´Â ¹«½ÃµË´Ï´Ù. °ø¹é ¹®ÀÚ´Â String.trim() ¸Þ¼­µå·Î »èÁ¦µÉ ¶§¿Í °°ÀÌ »èÁ¦µË´Ï´Ù. Áï, ASCII °ø¹é ¹®ÀÚ¿Í Á¦¾î ¹®ÀÚÀÇ ¾çÂÊ ¸ðµÎ°¡ »èÁ¦µË´Ï´Ù. s ³ª¸ÓÁöÀÇ ¹®ÀÚ°¡ ´ÙÀ½ÀÇ ÀÚ±¸ ±¸¹® ±ÔÄ¢¿¡ µû¶ó FloatValue¸¦ ±¸¼ºÇÕ´Ï´Ù.

¿©±â¼­, Sign, FloatingPointLiteral, HexNumeral, HexDigits, SignedInteger ¹× FloatTypeSuffix´Â ¡¸Java ¾ð¾î »ç¾ç¡¹ÀÇ ÀÚ±¸ ±¸Á¶ ¼½¼ÇÀÇ Á¤ÀÇ¿¡ µû¸¨´Ï´Ù. s°¡ FloatValue Çü½ÄÀÌ ¾Æ´Ñ °æ¿ì, NumberFormatException°¡ ¹ß»ý µË´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì, s´Â º¸Åë ÀÇ ¡¸ºÎµ¿ ¼Ò¼öÁ¡ Ç¥±â¡¹, Áï Á¤È®ÇÑ 10 Áø¼ö ¶Ç´Â 16 Áø¼ö¸¦ ³ªÅ¸³»°í ÀÖ´Ù°í º¸¿©Áý´Ï´Ù. ÀÌ Á¤È®ÇÑ ¼öÄ¡´Â °³³ä»óÀº ¡¸¹«ÇÑÇÏ°Ô Á¤È®ÇÑ ¹ÙÀ̳ʸ®Ä¡¡¹¿¡ º¯È¯µÇ°í ³ª¼­, IEEE 754 ºÎµ¿ ¼Ò¼öÁ¡ °è»ê¹ý¿¡ µû¸£´Â º¸Åë ÀÇ ÃÖ±Ù ´à°í °ª µÕ±Ù ¹ý (Á¦·ÎÄ¡ÀÇ ºÎÈ£ º¸°ü À¯Áö¸¦ Æ÷ÇÔÇÑ´Ù)¿¡ µû¶ó double Çü¿¡ ¸» ¼ö ÀÖ½À´Ï´Ù. ¸¶Áö¸·À¸·Îdouble°ªÀ» ³ªÅ¸³»´Â Double °´Ã¼°¡ ¸®Åϵ˴ϴ٠.

ºÎµ¿ ¼Ò¼öÁ¡Ä¡ÀÇ Áö¿ª ´ëÀÀµÈ ij¸¯ÅÍ ¶óÀΠǥÇöÀ» Çؼ®ÇÏ´Â °æ¿ì, NumberFormat ¼­ºê Ŭ·¡½º¸¦ »ç¿ëÇÕ´Ï´Ù.

ºÎµ¿ ¼Ò¼öÁ¡ ¸®ÅÍ·²ÀÇ ÇüŸ¦ °áÁ¤ÇÏ´Â Áö½ÃÀÚÀÇ ¸»¹Ì Çü½Ä Áö½ÃÀÚ (1.0f´Â float Ä¡, 1.0d´Â double Ä¡)´Â ÀÌ ¸Þ¼­µåÀÇ °á°ú¿¡ ¿µÇâÀ» ÁÖÁö ¾Ê½À´Ï´Ù. Áï, ÀԷ ij¸¯ÅÍ ¶óÀÎÀÇ ¼öÄ¡´Â Ÿ°ÙÀÇ ºÎµ¿ ¼Ò¼öÁ¡Çü¿¡ Á÷Á¢ º¯È¯µË´Ï´Ù. ij¸¯ÅÍ ¶óÀÎÀ» float·Î º¯È¯ÇØ, float¸¦ double·Î º¯È¯ÇÏ´Â 2 ´Ü°èÀÇ ¼ø¼­´Â ij¸¯ÅÍ ¶óÀÎÀ» double·Î º¯È¯ÇÏ´Â °Í°ú µî°¡°¡ ¾Æ´Õ´Ï´Ù. ¿¹¸¦ µé¾î, float ¸®ÅÍ·² 0.1f´Â double Ä¡ 0.10000000149011612·Î °°½À´Ï´Ù¸¸, float ¸®ÅÍ·² 0.1f´Â double ¸®ÅÍ·² 0.1 °ú´Â ´Ù¸¥ ¼öÄ¡¸¦ ³ªÅ¸³À´Ï´Ù. ¼öÄ¡ 0.1À» ¹ÙÀ̳ʸ® ºÎµ¿ ¼Ò¼öÁ¡¼ö(½Ç¼ö)·Î Á¤È®ÇÏ°Ô ³ªÅ¸³¾ ¼ö ¾ø½À´Ï´Ù.

¹«È¿ÀΠij¸¯ÅÍ ¶óÀÎÀ¸·Î ÀÌ ¸Þ¼­µå°¡ ºÒ·Á°¡ °Å³ªNumberFormatException°¡ Throw µÇ°Å³ª ÇÏÁö ¾Ê°Ô ÇÏ·Á¸é, ¾Æ·¡ÀÇ Á¤±Ô Ç¥ÇöÀ» »ç¿ëÇØ ÀԷ ij¸¯ÅÍ ¶óÀÎÀ» ½ºÅ©¸®´× ÇÒ ¼ö ÀÖ½À´Ï´Ù .


        final String Digits     = "(\\p{Digit}+)";
  final String HexDigits  = "(\\p{XDigit}+)";
        // an exponent is 'e' or 'E' followed by an optionally 
        // signed decimal integer.
        final String Exp        = "[eE][+-]? "+Digits;
        final String fpRegex    =
            ("[\\x00-\\x20]*"+  // Optional leading "whitespace"
             "[+-]? (" + // Optional sign character
             "NaN|" +           // "NaN" string
             "Infinity|" +      // "Infinity" string

             // A decimal floating-point string representing a finite positive
             // number without a leading sign has at most five basic pieces:
             // Digits .  Digits ExponentPart FloatTypeSuffix
             // 
             // Since this method allows integer-only strings as input
             // in addition to strings of floating-point literals, the
             // two sub-patterns below are simplifications of the grammar
             // productions from the Java Language Specification, 2nd 
             // edition, section 3.10. 2.

             // Digits . _opt Digits_opt ExponentPart_opt FloatTypeSuffix_opt
             "((("+Digits+"(\\. )? ("+Digits+"? )("+Exp+")? )|"+

             // .  Digits ExponentPart_opt FloatTypeSuffix_opt
             "(\\. ("+Digits+")("+Exp+")? )|"+

       // Hexadecimal strings
       "((" +
        // 0[xX] HexDigits . _opt BinaryExponent FloatTypeSuffix_opt
        "(0[xX]" + HexDigits + "(\\. )? )|" +

        // 0[xX] HexDigits_opt .  HexDigits BinaryExponent FloatTypeSuffix_opt
        "(0[xX]" + HexDigits + "? (\\. )" + HexDigits + ")" +

        ")[pP][+-]? " + Digits + "))" +
             "[fFdD]? ))" +
             "[\\x00-\\x20]*");// Optional trailing "whitespace"
            
  if (Pattern.matches(fpRegex, myString))
            Double.valueOf(myString); // Will not throw NumberFormatException
        else {
            // Perform suitable alternative action
        }
 

ÆĶó¹ÌÅÍ:
s - ±¸¹® ºÐ¼® µÇ´Â ij¸¯ÅÍ ¶óÀÎ
¹Ýȯ°ª:
StringÀμö¿¡ ÀÇÇØ ³ªÅ¸³»Áö´Â °ªÀ» º¸°ü À¯ÁöÇÏ´Â Double °´Ã¼
¿¹¿Ü:
NumberFormatException - ij¸¯ÅÍ ¶óÀÎÀÌ ±¸¹® ºÐ¼® °¡´ÉÇÑ ¼öÄ¡¸¦ Æ÷ÇÔÇÏÁö ¾Ê´Â °æ¿ì

valueOf

public static Double  valueOf(double d)
ÁöÁ¤ÇÑ double Ä¡¸¦ ³ªÅ¸³»´Â Double ÀνºÅϽº¸¦ ¸®ÅÏÇÕ´Ï´Ù. »õ·Î¿î Double ÀνºÅϽº°¡ ºÒÇÊ¿äÇÑ °æ¿ì, º¸Åë ÀÌ ¸Þ¼­µå°¡ »ý¼ºÀÚ Double(double)¿¡ ¿ì¼±ÇØ »ç¿ëµË´Ï´Ù. ±× ÀÌÀ¯´Â ÀÌ ¸Þ¼­µå°¡ ºó¹øÇÏ°Ô ¿ä±¸µÇ´Â °ªÀ» ij½¬ÇϹǷΠÁ¶ÀÛ¿¡ ÇÊ¿äÇÑ ¿µ¿ªÀ̳ª ½Ã°£ÀÌ ÈξÀ Àû¾îµµ µÇ´Â °æ¿ì°¡ ¸¹±â ¶§¹®ÀÔ´Ï´Ù.

ÆĶó¹ÌÅÍ:
d - double°ª
¹Ýȯ°ª:
d¸¦ ³ªÅ¸³»´Â Double ÀνºÅϽº
µµÀÔµÈ ¹öÀü :
1.5

parseDouble

public static double parseDouble(String  s)
                          throws NumberFormatException 
Double Ŭ·¡½ºÀÇ valueOf ¸Þ¼­µå¸¦ ½ÇÇàÇßÀ» °æ¿ì¿Í °°°Ô, ÁöÁ¤µÈ String°¡ ³ªÅ¸³»´Â °ª¿¡ ÃʱâÈ­µÈ »õ·Î¿î double°ªÀ» ¸®ÅÏÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
s - ±¸¹® ºÐ¼® µÇ´Â ij¸¯ÅÍ ¶óÀÎ
¹Ýȯ°ª:
ij¸¯ÅÍ ¶óÀÎ Àμö·Î ³ªÅ¸³»Áö´Â double Ä¡
¿¹¿Ü:
NumberFormatException - ij¸¯ÅÍ ¶óÀÎÀÌ ±¸¹® ºÐ¼® °¡´ÉÇÑ double°ªÀ» Æ÷ÇÔÇÏÁö ¾Ê´Â °æ¿ì
µµÀÔµÈ ¹öÀü :
1.2
°ü·Ã Ç׸ñ:
valueOf(String)

isNaN

public static boolean isNaN(double v)
ÁöÁ¤µÈ ¼ö°ªÀÌ ºñ¼ö (NaN)ÀÎ °æ¿ì¿¡´Â true¸¦, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false¸¦ ¸®ÅÏÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
v - ÆÇÁ¤µÇ´Â °ª
¹Ýȯ°ª:
ÀμöÀÇ °ªÀÌ NaN ÀÎ °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false

isInfinite

public static boolean isInfinite(double v)
ÁöÁ¤µÈ ¼öÄ¡ÀÇ Àý´ë°ªÀÌ ¹«ÇÑ·®ÀÎ °æ¿ì¿¡´Â true¸¦, ±×·¸Áö ¾ÊÀº °æ¿ì¿¡´Â false¸¦ ¸®ÅÏÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
v - ÆÇÁ¤µÇ´Â °ª
¹Ýȯ°ª:
Àμö°¡ Á¤ ¶Ç´Â ºÎÀÇ ¹«ÇÑÄ¡ÀÇ °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false

isNaN

public boolean isNaN()
ÀÌ Double°ªÀÌ ºñ¼ö (NaN)ÀÎ °æ¿ì¿¡´Â true¸¦, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false¸¦ ¸®ÅÏÇÕ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ °´Ã¼°¡ ³ªÅ¸³»´Â °ªÀÌ NaN ÀÎ °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false

isInfinite

public boolean isInfinite()
ÀÌ Double°ªÀÇ Àý´ë°ªÀÌ ¹«ÇÑ·®ÀÎ °æ¿ì¿¡´Â true¸¦, ±×·¸Áö ¾ÊÀº °æ¿ì¿¡´Â false¸¦ ¸®ÅÏÇÕ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ °´Ã¼°¡ ³ªÅ¸³»´Â °ªÀÌ Á¤ÀÇ ¹«ÇÑ´ë ¶Ç´Â ºÎÀÇ ¹«ÇÑ´ëÀÎ °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false

toString

public String  toString()
ÀÌ Double °´Ã¼ÀÇ Ä³¸¯ÅÍ ¶óÀΠǥÇöÀ» ¸®ÅÏÇÕ´Ï´Ù. ÀÌ °´Ã¼°¡ ³ªÅ¸³»´Â ¿ø½ÃÀû double°ªÀº 1°³ÀÇ Àμö¸¦ ÃëÇÏ´Â toString ¸Þ¼­µå¸¦ ½ÇÇàÇßÀ» °æ¿ì¿Í °°Àº ij¸¯ÅÍ ¶óÀο¡ º¯È¯µË´Ï´Ù.

¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º Object ³»ÀÇ toString
¹Ýȯ°ª:
ÀÌ °´Ã¼ÀÇ String Ç¥Çö
°ü·Ã Ç׸ñ:
toString(double)

byteValue

public byte byteValue()
ÀÌ Double°ªÀ» (byte¿¡ ij½ºÆ® ÇÏ´Â °ÍÀ¸·Î½á) byte·Î ¼­ ¸®ÅÏÇÕ´Ï´Ù.

¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º Number ³»ÀÇ byteValue
¹Ýȯ°ª:
byte Çü¿¡ º¯È¯µÈ ÀÌ °´Ã¼°¡ ³ªÅ¸³»´Â double Ä¡
µµÀÔµÈ ¹öÀü :
JDK1. 1

shortValue

public short shortValue()
ÀÌ Double°ªÀ» (short¿¡ ij½ºÆ® ÇÏ´Â °ÍÀ¸·Î½á) short·Î ¼­ ¸®ÅÏÇÕ´Ï´Ù.

¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º Number ³»ÀÇ shortValue
¹Ýȯ°ª:
short Çü¿¡ º¯È¯µÈ ÀÌ °´Ã¼°¡ ³ªÅ¸³»´Â double Ä¡
µµÀÔµÈ ¹öÀü :
JDK1. 1

intValue

public int intValue()
ÀÌ Double°ªÀ» (int Çü¿¡ ij½ºÆ® ÇÏ´Â °ÍÀ¸·Î½á) int·Î ¼­ ¸®ÅÏÇÕ´Ï´Ù.

Á¤ÀÇ:
Ŭ·¡½º Number ³»ÀÇ intValue
¹Ýȯ°ª:
int Çü¿¡ º¯È¯µÈ ÀÌ °´Ã¼°¡ ³ªÅ¸³»´Â double Ä¡

longValue

public long longValue()
ÀÌ Double°ªÀ» (long Çü¿¡ ij½ºÆ® ÇÏ´Â °ÍÀ¸·Î½á) long·Î ¼­ ¸®ÅÏÇÕ´Ï´Ù.

Á¤ÀÇ:
Ŭ·¡½º Number ³»ÀÇ longValue
¹Ýȯ°ª:
long Çü¿¡ º¯È¯µÈ ÀÌ °´Ã¼°¡ ³ªÅ¸³»´Â double Ä¡

floatValue

public float floatValue()
ÀÌ Double °´Ã¼ÀÇ float°ªÀ» ¸®ÅÏÇÕ´Ï´Ù.

Á¤ÀÇ:
Ŭ·¡½º Number ³»ÀÇ floatValue
¹Ýȯ°ª:
float Çü¿¡ º¯È¯µÈ ÀÌ °´Ã¼°¡ ³ªÅ¸³»´Â double Ä¡
µµÀÔµÈ ¹öÀü :
JDK1. 0

doubleValue

public double doubleValue()
ÀÌ Double °´Ã¼ÀÇ double°ªÀ» ¸®ÅÏÇÕ´Ï´Ù.

Á¤ÀÇ:
Ŭ·¡½º Number ³»ÀÇ doubleValue
¹Ýȯ°ª:
ÀÌ °´Ã¼°¡ ³ªÅ¸³»´Â double Ä¡

hashCode

public int hashCode()
ÀÌ Double °´Ã¼ÀÇ Çؽà Äڵ带 ¸®ÅÏÇÕ´Ï´Ù. °è»êµÈ °á°ú´Â doubleToLongBits(double) ¸Þ¼­µåÀÇ °á°ú¿Í ¿ÏÀüÈ÷ ¶È°°ÀÌ, ÀÌ Double °´Ã¼°¡ ³ªÅ¸³»´Â ¿ø½ÃÀû double°ªÀÇ long Á¤¼ö¸¦ ºñÆ® Ç¥ÇöÇÑ »óÀ§ 32 ºñÆ®¿Í ÇÏÀ§ 32 ºñÆ®ÀÇ ¹èŸÀû ³í¸®ÇÕÀÌ µË´Ï´Ù. Áï, Çؽà ÄÚµå´Â ´ÙÀ½ÀÇ ½ÄÀÇ °ªÀÔ´Ï´Ù.
 (int)(v^(v>>>32))
´Ù¸¸, v´Â ´ÙÀ½ÀÇ ½Ä¿¡ ÀÇÇØ Á¤Àǵ˴ϴÙ.
 long v = Double.doubleToLongBits(this.doubleValue());
 

¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º Object ³»ÀÇ hashCode
¹Ýȯ°ª:
ÀÌ °´Ã¼ÀÇ hash code Ä¡
°ü·Ã Ç׸ñ:
Object.equals(java.lang.Object), Hashtable

equals

public boolean equals(Object  obj)
ÀÌ °´Ã¼°¡ ÁöÁ¤µÈ °´Ã¼¿Í ºñ±³ÇÕ´Ï´Ù. °á°ú°¡ true°¡ µÇ´Â °ÍÀº Àμö°¡ nullÀÌ ¾Æ´Ï°í, ÀÌ °´Ã¼°¡ ³ªÅ¸³»´Â double Ä¡¿Í °°Àº °ªÀ» º¸°ü À¯ÁöÇÏ´Â double¸¦ ³ªÅ¸³»´Â Double °´Ã¼ÀÎ °æ¿ì¸¸ÀÔ´Ï´Ù. ÀÌ ¶§¹®¿¡ 2°³ÀÇ double°ªÀÌ µ¿ÀÏÇÏ´Ù°í º¸¿©Áö´Â °ÍÀº, doubleToLongBits(double) ¸Þ¼­µå¸¦ °¢ Ä¡¿¡ Àû¿ëÇßÀ» ¶§¿¡ µ¿ÀÏÇÑ long°ªÀÌ ¸®ÅϵÈÀÎ °æ¿ì¸¸ÀÔ´Ï´Ù.

´ëºÎºÐÀÇ °æ¿ì, Double Ŭ·¡½ºÀÇ d1 ¹× d2 ¶ó°í ÇÏ´Â 2°³ÀÇ ÀνºÅϽº¿¡ ´ëÇØ, d1.equals(d2)°ªÀÌ true°¡ µÇ´Â °ÍÀº ´ÙÀ½ÀÇ ½ÄÀÇ °ªÀÌ true°¡ µÇ´Â °æ¿ì¸¸ÀÔ´Ï´Ù.

 d1.doubleValue()  == d2.doubleValue() 

±×·¯³ª, ¿¹¿Ü »çÇ×µµ 2°³ ÀÖ½À´Ï´Ù.

ÀÌ Á¤ÀÇ¿¡ÀÇÇØ Çؽà Å×À̺íÀº ¿Ã¹Ù¸£°Ô µ¿ÀÛÇÕ´Ï´Ù.

¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º Object ³»ÀÇ equals
ÆĶó¹ÌÅÍ:
obj - ºñ±³ ´ë»óÀÇ °´Ã¼
¹Ýȯ°ª:
°´Ã¼°¡ °°Àº °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
°ü·Ã Ç׸ñ:
doubleToLongBits(double)

doubleToLongBits

public static long doubleToLongBits(double value)
IEEE 754 ºÎµ¿ ¼Ò¼öÁ¡ÀÇ ¡¸´õºí Æ÷¸Ë (double format)¡¹ºñÆ® ·¹À̾ƿô¿¡ µû¶ó, ÁöÁ¤µÈ ºÎµ¿ ¼Ò¼öÁ¡ÀÇ °ªÀ» Ç¥ÇöÇØ ¸®ÅÏÇÕ´Ï´Ù.

ºñÆ® 63 (¸¶½ºÅ© 0x8000000000000000L¿¡ ÀÇÇØ ¼±ÅõǴ ºñÆ®)Àº ºÎµ¿ ¼Ò¼öÁ¡ÀÇ ºÎÈ£¸¦ ³ªÅ¸³À´Ï´Ù. ºñÆ® 62-52 (¸¶½ºÅ© 0x7ff0000000000000L¿¡ ÀÇÇØ ¼±ÅõǴ ºñÆ®)´Â Áö¼ö¸¦ ³ªÅ¸³À´Ï´Ù. ºñÆ® 51-0 (¸¶½ºÅ© 0x000fffffffffffffL¿¡ ÀÇÇØ ¼±ÅõǴ ºñÆ®)´Â ºÎµ¿ ¼Ò¼öÁ¡ÀÇ À¯È¿Ä¡ (°¡¼ö·Î ºÒ¸®´Â °æ¿ìµµ ÀÖ´Ù)¸¦ ³ªÅ¸³À´Ï´Ù.

Àμö°¡ Á¤ÀÇ ¹«ÇÑ´ëÄ¡ÀÇ °æ¿ì´Â 0x7ff0000000000000L°¡ ¸®Åϵ˴ϴ٠.

Àμö°¡ ºÎÀÇ ¹«ÇÑ´ëÄ¡ÀÇ °æ¿ì´Â 0xfff0000000000000L°¡ ¸®Åϵ˴ϴ٠.

Àμö°¡ NaNÀÎ °æ¿ì´Â 0x7ff8000000000000L°¡ ¸®Åϵ˴ϴ٠.

¾î´À °æ¿ìµµ, ¸®ÅÏµÈ °ªÀº long Á¤¼öÀ̸ç, longBitsToDouble(long) ¸Þ¼­µå¸¦ ÁöÁ¤Çϸé, doubleToLongBits¿¡ ÀÇ Àμö¿Í °°Àº ºÎµ¿ ¼Ò¼öÁ¡°ªÀÌ µË´Ï´Ù (¸ðµç NaN °ªÀÌ ´ÜÀÏÀÇ ¡¸Á¤±Ô¡¹NaN Ä¡¿¡ ¼ö³³µÇ´Â °ÍÀ» Á¦¿ÜÇÑ´Ù).

ÆĶó¹ÌÅÍ:
value - double Á¤¹ÐµµÀÇ ºÎµ¿ ¼Ò¼öÁ¡Ä¡
¹Ýȯ°ª:
ºÎµ¿ ¼Ò¼öÁ¡Ä¡¸¦ ³ªÅ¸³»´Â ºñÆ®

doubleToRawLongBits

public static long doubleToRawLongBits(double value)
IEEE 754 ºÎµ¿ ¼Ò¼öÁ¡ÀÇ ¡¸´õºí Æ÷¸Ë (double format)¡¹ºñÆ® ·¹À̾ƿô¿¡ µû¶ó, ºñ¼ö (NaN) Ä¡¸¦ º¸°ü À¯ÁöÇÏ´Â ÁöÁ¤µÈ ºÎµ¿ ¼Ò¼öÁ¡Ä¡ÀÇ Ç¥ÇöÀ» ¸®ÅÏÇÕ´Ï´Ù.

ºñÆ® 63 (¸¶½ºÅ© 0x8000000000000000L¿¡ ÀÇÇØ ¼±ÅõǴ ºñÆ®)Àº ºÎµ¿ ¼Ò¼öÁ¡ÀÇ ºÎÈ£¸¦ ³ªÅ¸³À´Ï´Ù. ºñÆ® 62-52 (¸¶½ºÅ© 0x7ff0000000000000L¿¡ ÀÇÇØ ¼±ÅõǴ ºñÆ®)´Â Áö¼ö¸¦ ³ªÅ¸³À´Ï´Ù. ºñÆ® 51-0 (¸¶½ºÅ© 0x000fffffffffffffL¿¡ ÀÇÇØ ¼±ÅõǴ ºñÆ®)´Â ºÎµ¿ ¼Ò¼öÁ¡ÀÇ À¯È¿Ä¡ (°¡¼ö·Î ºÒ¸®´Â °æ¿ìµµ ÀÖ´Ù)¸¦ ³ªÅ¸³À´Ï´Ù.

Àμö°¡ Á¤ÀÇ ¹«ÇÑ´ëÄ¡ÀÇ °æ¿ì´Â 0x7ff0000000000000L°¡ ¸®Åϵ˴ϴ٠.

Àμö°¡ ºÎÀÇ ¹«ÇÑ´ëÄ¡ÀÇ °æ¿ì´Â 0xfff0000000000000L°¡ ¸®Åϵ˴ϴ٠.

Àμö°¡ NaNÀÎ °æ¿ì, ¸®ÅÏµÈ °ªÀº ½ÇÁ¦ÀÇ NaN Ä¡¸¦ ³ªÅ¸³»´Â long Á¤¼öÀÔ´Ï´Ù. doubleToLongBits ¸Þ¼­µå¿Í´Â ´Þ¶ó, doubleToRawLongBits ¸Þ¼­µå°¡ ¸ðµç ºñÆ® ÆÐÅÏ encode NaN¸¦ ´ÜÀÏÀÇ Á¤±Ô NaN Ä¡¿¡ ¼ö³³ÇÒ °ÍÀº ¾ø½À´Ï´Ù.

¾î´À °æ¿ìµµ, ¸®ÅÏµÈ °ªÀº long Á¤¼öÀ̸ç, longBitsToDouble(long) ¸Þ¼­µå¸¦ ÁöÁ¤Çϸé, doubleToRawLongBits¿¡ ÀÇ Àμö¿Í °°Àº ºÎµ¿ ¼Ò¼öÁ¡°ªÀÌ µË´Ï´Ù.

ÆĶó¹ÌÅÍ:
value - double Á¤¹ÐµµÀÇ ºÎµ¿ ¼Ò¼öÁ¡Ä¡
¹Ýȯ°ª:
ºÎµ¿ ¼Ò¼öÁ¡Ä¡¸¦ ³ªÅ¸³»´Â ºñÆ®

longBitsToDouble

public static double longBitsToDouble(long bits)
ÁöÁ¤µÈ ºñÆ® Ç¥Çö°ú ´ëÀÀÇÏ´Â double°ªÀ» ¸®ÅÏÇÕ´Ï´Ù. Àμö´Â IEEE 754 ºÎµ¿ ¼Ò¼öÁ¡ ¡¸¹èÁ¤¹Ðµµ¡¹ºñÆ® ¹è¿­¿¡ µû¸¥ ºÎµ¿ ¼Ò¼öÁ¡ Ç¥ÇöÀ̶ó°í º¸¿©Áý´Ï´Ù.

Àμö°¡ 0x7ff0000000000000LÀÎ °æ¿ì´Â Á¤ÀÇ ¹«ÇÑ´ë°ªÀÌ ¸®Åϵ˴ϴ٠.

Àμö°¡ 0xfff0000000000000LÀÎ °æ¿ì´Â ºÎÀÇ ¹«ÇÑ´ë°ªÀÌ ¸®Åϵ˴ϴ٠.

Àμö°¡ 0x7ff0000000000001L ~ 0x7fffffffffffffffL, ¶Ç´Â 0xfff0000000000001L ~ 0xffffffffffffffffL ¹üÀ§³»ÀÇ °ªÀÎ °æ¿ì, °á°ú´Â NaN°¡ µË´Ï´Ù. Java Á¦°øÇÏ´Â IEEE 754 ºÎµ¿ ¼Ò¼öÁ¡ ¿¬»êÀº ÇüÅ°¡ °°¾Æ ºñÆ® ÆÐÅÏÀÌ ´Ù¸¥ 2°³ÀÇ NaN Ä¡¸¦ ±¸º°ÇÒ ¼ö ¾ø½À´Ï´Ù. NaN °³º°ÀÇ °ªÀº, Double.doubleToRawLongBits¸¦ »ç¿ëÇÏ´Â °æ¿ì¿¡¸¸ ½Äº° °¡´ÉÇÕ´Ï´Ù.

±× ´Ù¸¥ °æ¿ì¿¡¼­´Â s, e ¹× m 3°³ÀÇ °ª¿¡ ´ëÇØ ´ÙÀ½ÀÇ Àμö·ÎºÎÅÍ °è»êÇÒ ¼ö ÀÖ´Ù°í ÇÕ´Ï´Ù.

 int s = ((bits >>
 63) == 0) ?  1 :
 -1;
 int e = (int)((bits >>
 52) & 0x7ffL);
 long m = (e == 0) ?  (bits & 0xfffffffffffffL) <<
 1 :
 (bits & 0xfffffffffffffL) | 0x10000000000000L;
ÀÌ °æ¿ì ºÎµ¿ ¼Ò¼öÁ¡Ä¡ÀÇ °á°ú´Â ¼ö½Ä s·m·2e-1075 °ª°ú µ¿ÀÏÇØÁý´Ï´Ù.

ÀÌ ¸Þ¼­µå´Â longÀμö¿Í ÀüÇô °°Àº ºñÆ® ÆÐÅÏÀ» °¡Áö´Â double NaN¸¦ µ¹·ÁÁÙ ¼ö°¡ ¾øÀ» °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. IEEE 754 ¿¡¼­´Â 2 Á¾·ùÀÇ NaN ( ¡¸½Ã±×³ÎÀ» ¹ß»ýÇÏÁö ¾Ê´Â NaN¡¹¿Í¡¸½Ã±×³ÎÀ» ¹ß»ýÇÏ´Â NaN¡¹)¸¦ ±¸º°ÇÕ´Ï´Ù. 2 Á¾·ùÀÇ NaN Â÷ÀÌ´Â º¸Åë Java ¿¡¼­´Â È®ÀÎÇÒ ¼ö ¾ø½À´Ï´Ù. ½Ã±×³ÎÀ» ¹ß»ýÇÏ´Â NaN ¿¡¼­ÀÇ »ê¼ú ¿¬»ê¿¡¼­´Â ½Ã±×³ÎÀ» ¹ß»ýÇÏ´Â NaN °¡ ÀÌÁ¾À̸鼭 °°Àº ºñÆ® ÆÐÅÏÀ» °¡Áö´Â ½Ã±×³ÎÀ» ¹ß»ýÇÏÁö ¾Ê´Â NaN ·Î ¹Ù²ò´Ï´Ù. ´Ù¸¸, ½Ã±×³ÎÀ» ¹ß»ýÇÏ´Â NaN¸¦ ´ÜÁö Ä«ÇÇÇÏ´Â ÀϺÎÀÇ ÇÁ·Î¼¼¼­µµ, ÀÌ º¯È¯µµ ½Ç½ÃÇÕ´Ï´Ù. ƯÈ÷, ½Ã±×³ÎÀ» ¹ß»ýÇÏ´Â NaN¸¦ º¹»çÇØ, È£ÃâÃøÀÇ ¸Þ¼­µå¿¡ µ¹·ÁÁÖ´Â °ÍÀ¸·Î ÀÌ º¯È¯À» ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. µû¶ó¼­, longBitsToDouble´Â ½Ã±×³ÎÀ» ¹ß»ýÇÏ´Â NaN ºñÆ® ÆÐÅÏÀ» °¡Áö´Â double¸¦ µ¹·ÁÁÙ ¼ö°¡ ¾øÀ» °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. ±× °á°ú, ÀϺÎÀÇ long°ª¿¡¼­´Â doubleToRawLongBits(longBitsToDouble(start))´Â start¿Í µî°¡°¡ ¾Æ´Ñ °æ¿ì°¡ ÀÖ½À´Ï´Ù. ´õÇØ, ¾î´À ƯÁ¤ÀÇ ºñÆ® ÆÐÅÏÀÌ ½Ã±×³ÎÀ» ¹ß»ýÇÏ´Â NaN¸¦ ³ªÅ¸³¾±î´Â Ç÷§Æû¿¡ µû¶ó¼­ ´Ù¸¨´Ï´Ù. ½Ã±×³ÎÀ» ¹ß»ýÇÏÁö ¾Ê´Â°¡ ½Ã±×³ÎÀ» ¹ß»ýÇұ °ü°è¾øÀÌ, ¸ðµç NaN´Â À§¿¡ ³ªÅ¸³»´Â NaN ¹üÀ§¿¡ ¾øÀ¸¸é ¾ÈµË´Ï´Ù.

ÆĶó¹ÌÅÍ:
bits - long Á¤¼ö
¹Ýȯ°ª:
°°Àº ºñÆ® ÆÐÅÏÀ» °¡Áö´Â double ºÎµ¿ ¼Ò¼öÁ¡Ä¡

compareTo

public int compareTo(Double  anotherDouble)
2°³ÀÇ Double °´Ã¼¸¦ ¼öÄ¡ÀûÀ¸·Î ºñ±³ÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå¿¡ ÇÑ ºñ±³´Â Java ¾ð¾îÀÇ ¼öÄ¡ ºñ±³ ¿¬»êÀÚ (<, <=, ==, >= >)¸¦ ¿ø½ÃÀû double Ä¡¿¡ Àû¿ëÇßÀ» °æ¿ì¶õ ´ÙÀ½ÀÇ 2 Á¡À¸·Î½á ´Ù¸¨´Ï´Ù. ÀÌ·¸°Ô ÇØ, ¸Þ¼­µå¿¡ ÀÇÇØ Àû¿ëµÇ´Â Double °´Ã¼ÀÇ ÀÚ¿¬ ¼ø¼­ºÎ·Î ¡¸equals¿Í ÀÇ ÀÏ°ü¼º¡¹ÀÌ È®º¸µË´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Comparable <Double > ³»ÀÇ compareTo
ÆĶó¹ÌÅÍ:
anotherDouble - ºñ±³ ´ë»óÀÇ Double
¹Ýȯ°ª:
anotherDouble°¡ ÀÌ Double¿Í °°Àº ¼öÄ¡ÀÇ °æ¿ì´Â °ª 0. Double°¡ anotherDouble º¸´Ù ÀÛÀº ¼öÄ¡ÀÇ °æ¿ì´Â 0 º¸´Ù ÀÛÀº °ª. Double°¡ anotherDouble º¸´Ù Å« ¼öÄ¡ÀÇ °æ¿ì´Â 0 º¸´Ù Å« °ª
µµÀÔµÈ ¹öÀü :
1.2

compare

public static int compare(double d1,
                          double d2)
ÁöÁ¤µÈ 2°³ÀÇ double°ªÀ» ºñ±³ÇÕ´Ï´Ù. ¸®ÅÏµÈ Á¤¼ö°ª ÀÇ ºÎÈ£´Â ´ÙÀ½ÀÇ È£Ãâ·Î ¸®ÅÏµÈ Á¤¼öÀÇ ºÎÈ£¿Í °°°Ô µË´Ï´Ù.

    new Double(d1). compareTo(new Double(d2))
 

ÆĶó¹ÌÅÍ:
d1 - ºñ±³ÇÏ´Â ÃÖÃÊÀÇ double
d2 - ºñ±³ÇÏ´Â 2¹ø°ÀÇ double
¹Ýȯ°ª:
d1°ªÀÌ d2¿Í µ¿ÀÏÇÑ °æ¿ì´Â °ª 0, d1°ªÀÌ d2 º¸´Ù ÀÛÀº °æ¿ì´Â 0 º¸´Ù ÀÛÀº °ª, d1°ªÀÌ d2 º¸´Ù Å« °æ¿ì´Â 0 º¸´Ù Å« °ª
µµÀÔµÈ ¹öÀü :
1.4

JavaTM 2 Platform
Standard Ed. 5.0

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.