|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
| °³¿ä: NESTED | Çʵå | constructor | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | |||||||||
java.lang.Objectjava.lang.Number
java.lang.Double
public final class Double
Double Ŭ·¡½º´Â ¿ø½ÃÇü
double°ªÀ» °´Ã¼¿¡ ·¦ ÇÕ´Ï´Ù. Double ÇüÀÇ °´Ã¼¿¡´Â ÇüŰ¡ double
´ÜÀÏ Çʵ尡 Æ÷ÇԵ˴ϴÙ.
¶ÇÇÑ
ÀÌ Å¬·¡½º´Â double¸¦ String¿¡
String¸¦ double·Î
º¯È¯ÇÏ´Â °¢Á¾ ¸Þ¼µå³ª, double
󸮽ÿ¡ µµ¿òÀÌ µÇ´Â Á¤¼ö ¹× ¸Þ¼µåµµ Á¦°øÇÕ´Ï´Ù.
| ÇÊµå °³¿ä | |
|---|---|
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)
ij¸¯ÅÍ ¶óÀÎÀ¸·Î ³ªÅ¸³»Áö´Â 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)
ij¸¯ÅÍ ¶óÀÎ Àμö s·Î
³ªÅ¸³»Áö´Â double°ªÀ» º¸°ü À¯ÁöÇÏ´Â Double °´Ã¼¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
| Ŭ·¡½º java.lang. Object ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼µå |
|---|
clone,
finalize,
getClass,
notify,
notifyAll,
wait,
wait,
wait |
| ÇʵåÀÇ »ó¼¼ |
|---|
public static final double POSITIVE_INFINITY
double ÇüÀÇ Á¤ÀÇ ¹«ÇÑ´ëÄ¡¸¦ º¸°ü À¯ÁöÇÏ´Â Á¤¼öÀÔ´Ï´Ù. Double.longBitsToDouble(0x7ff0000000000000L)¿¡ ÀÇÇØ ¸®ÅϵÈ
°ª°ú °°½À´Ï´Ù.
public static final double NEGATIVE_INFINITY
double ÇüÀÇ ºÎÀÇ ¹«ÇÑ´ëÄ¡¸¦ º¸°ü À¯ÁöÇÏ´Â Á¤¼öÀÔ´Ï´Ù. Double.longBitsToDouble(0xfff0000000000000L)¿¡ ÀÇÇØ ¸®ÅϵÈ
°ª°ú °°½À´Ï´Ù.
public static final double NaN
double ÇüÀÇ ºñ¼ö (NaN) Ä¡¸¦ º¸°ü À¯ÁöÇÏ´Â Á¤¼öÀÔ´Ï´Ù. Double.longBitsToDouble(0x7ff8000000000000L)¿¡ ÀÇÇØ ¸®ÅϵÈ
°ª°ú °°½À´Ï´Ù.
public static final double MAX_VALUE
double ÇüÀÇ Á¤ÀÇ ÃÖ´ë À¯ÇÑÄ¡ (2-2-52) ·21023 ÀÔ´Ï´Ù. 16 Áø¼ö ºÎµ¿ ¼Ò¼öÁ¡ ¸®ÅÍ·² 0x1.fffffffffffffP+1023·Î
µ¿µîÇϰí, Double.longBitsToDouble(0x7fefffffffffffffL)¿Í
µµ µ¿µîÇÕ´Ï´Ù.
public static final double MIN_VALUE
double ÇüÀÇ Á¤ÀÇ ÃÖ¼Ò À¯ÇÑÄ¡ 2-1074 ÀÔ´Ï´Ù. 16 Áø¼ö ºÎµ¿ ¼Ò¼öÁ¡ ¸®ÅÍ·² 0x0. 0000000000001P-1022·Î
µ¿µîÇϰí, Double.longBitsToDouble(0x1L)¿Í
µµ µ¿µîÇÕ´Ï´Ù.
public static final int SIZE
public static final Class <Double > TYPE
double
¿ø½ÃÇü
À» ³ªÅ¸³»´Â ClassÀνºÅϽºÀÔ´Ï´Ù.
| »ý¼ºÀÚ »ó¼¼ |
|---|
public Double(double value)
doubleÀμö¸¦ ³ªÅ¸³½´Ù, »õ·Ó°Ô ÇÒ´çÇÒ ¼ö ÀÖ´Â Double °´Ã¼¸¦ ±¸ÃàÇÕ´Ï´Ù.
value - Double¿¡ ÀÇÇØ ³ªÅ¸³»Áö´Â °ª
public Double(String s)
throws NumberFormatException
double ÇüÀÇ ºÎµ¿ ¼Ò¼öÁ¡À» ³ªÅ¸³»´Â »õ·Ó°Ô ÇÒ´çÇÒ ¼ö ÀÖ´Â Double °´Ã¼¸¦ ±¸ÃàÇÕ´Ï´Ù. ij¸¯ÅÍ ¶óÀÎÀº, valueOf ¸Þ¼µå¿Í °°°Ô double Ä¡¿¡ º¯È¯µË´Ï´Ù.
s - Double·Î
º¯È¯Çϴ ij¸¯ÅÍ ¶óÀÎ
NumberFormatException - ij¸¯ÅÍ ¶óÀÎÀÌ ±¸¹® ºÐ¼® °¡´ÉÇÑ ¼öÄ¡¸¦ Æ÷ÇÔÇÏÁö ¾Ê´Â °æ¿ìvalueOf(java.lang.String) | ¸Þ¼µåÀÇ »ó¼¼ |
|---|
public static String toString(double d)
doubleÀμöÀÇ Ä³¸¯ÅÍ ¶óÀΠǥÇöÀ» ¸®ÅÏÇÕ´Ï´Ù. ¾Æ·¡ÀÇ ¹®ÀÚ´Â ¸ðµÎ ASCII ¹®ÀÚÀÔ´Ï´Ù. NaN¡¹-¡¹(¡¸\u002D¡¹). ºÎÈ£°¡ Á¤ÀÇ °æ¿ì, º¯È¯ ÈÄÀÇ Ä³¸¯ÅÍ ¶óÀο¡ ºÎÈ£ ¹®Àڴ ǥ½ÃµÇÁö ¾Ê´Â´Ù. Àý´ëÄ¡ m¿¡ ´ëÇØ¼´Â ´ÙÀ½´ë·ÎInfinity¡¹¶ó°í Çϴ ij¸¯ÅÍ ¶óÀÎÀ¸·Î ³ªÅ¸³½´Ù. Áï, Á¤ÀÇ ¹«ÇÑ´ë´Â ¡¸Infinity¡¹, ºÎÀÇ ¹«ÇÑ´ë´Â ¡¸-Infinity¡¹¶ó°í µÈ´Ù
0.0¡¹(ÀÌ)¶ó°í Çϴ ij¸¯ÅÍ ¶óÀÎÀ¸·Î ³ªÅ¸³½´Ù. Áï, ºÎÀÇ Á¦·Î´Â ¡¸-0. 0¡¹, Á¤ÀÇ Á¦·Î´Â ¡¸0.0¡¹(ÀÌ)¶ó°í µÈ´Ù
. ¡¹( ¡¸'\u002E¡¹), m
¼Ò¼öºÎ¸¦ ³ªÅ¸³»´Â 1 ÀÚ¸®¼ö ÀÌ»óÀÇ 10 Áø¼ö°¡ ÀÌ ¼ø¼·Î ³ª¶õÇØÁø ÇüÅ·ΠǥÇöµÈ´Ù
Integer.toString(int) ·ÎºÎÅÍ µ¹·ÁÁÖ°íÁ³´ø ´ë·Îa
Á¤¼öºÎÀÎ 1 ÀÚ¸®¼öÀÇ 10 Áø¼ö, ¡¸. ¡¹( ¡¸\u002E¡¹), a
¼Ò¼öºÎ¸¦ ³ªÅ¸³»´Â 10 Áø¼ö, ¹®ÀÚ ¡¸E¡¹( ¡¸\u0045¡¹), n¸¦ ³ªÅ¸³»´Â 10 ÁøÁ¤¼ö°¡ ÀÌ ¼ø¼·Î ³ª¶õÇØÁø ÇüÅ·ΠǥÇöµÈ´Ù
double ÇüÀÇ ÀÎÁ¢ÇÏ´Â °ªÀ¸·ÎºÎÅÍ Àμö¸¦ ÀÏÀÇ¿¡ ½Äº°Çϴµ¥ ÃÖÀúÇÑ ÇÊ¿äÇÑ ÀÚ¸®¼ö·ÎÀÇÇØ ÁÖ¼¼¿ä. ¿¹¸¦ µé¾î
Á¦·Î°¡ ¾Æ´Ñ À¯ÇÑÀÇ Àμö¸¦ ÁöÁ¤ÇØ ÀÌ ¸Þ¼µå·Î ÀÛ¼ºÇÑ 10 Áø¼ö Ç¥±â¸¦ x ·Î ÇÕ´Ï´Ù. ÀÌ °æ¿ì
d´Â x
double ÇüÀÇ ÃÖ±Ù ´à°í °ªÀÌ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù. Áï, 2°³ÀÇ double°ªÀÌ
±ÕµîÇÏ°Ô x¿¡ ±Ù»ç Çϰí ÀÖ´Â °æ¿ìÀ̸é, d´Â 2°³ÀÇ °ªÀÇ ¾î´À ÂÊÀÎÁö ³ª¿ÀÁö ¾ÊÀ¸¸é ¾ÈµÇ¾î, À¯È¿ÇÑ ÃÖÇÏÁ¤µµ ºñÆ®´Â 0 ÀÌ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù.
ºÎµ¿ ¼Ò¼öÁ¡Ä¡ÀÇ Áö¿ª ´ëÀÀµÈ ij¸¯ÅÍ ¶óÀΠǥÇöÀ» ÀÛ¼ºÇÏ´Â °æ¿ì, NumberFormat
¼ºê Ŭ·¡½º¸¦ »ç¿ëÇÕ´Ï´Ù.
d - º¯È¯ ´ë»óÀÇ double
public static String toHexString(double d)
doubleÀμöÀÇ 16 Áø¼ö ij¸¯ÅÍ ¶óÀΠǥÇöÀ» ¸®ÅÏÇÕ´Ï´Ù. ¾Æ·¡ÀÇ ¹®ÀÚ´Â ¸ðµÎ ASCII ¹®ÀÚÀÔ´Ï´Ù.
NaN¡¹-¡¹( ¡¸\u002D¡¹). ºÎÈ£°¡ Á¤ÀÇ °æ¿ì, º¯È¯ ÈÄÀÇ Ä³¸¯ÅÍ ¶óÀο¡ ºÎÈ£ ¹®Àڴ ǥ½ÃµÇÁö ¾Ê´Â´Ù. Àý´ëÄ¡ m¿¡ ´ëÇØ¼´Â ´ÙÀ½´ë·Î
Infinity¡¹¶ó°í Çϴ ij¸¯ÅÍ ¶óÀÎÀ¸·Î ³ªÅ¸³½´Ù. Áï, Á¤ÀÇ ¹«ÇÑ´ë´Â ¡¸Infinity ¡¹, ºÎÀÇ ¹«ÇÑ´ë´Â ¡¸-Infinity¡¹¶ó°í µÈ´Ù
0x0. 0p0¡¹À̶ó°í Çϴ ij¸¯ÅÍ ¶óÀÎÀ¸·Î ³ªÅ¸³½´Ù. Áï, ºÎÀÇ Á¦·Î´Â ¡¸-0x0. 0p0 ¡¹, Á¤ÀÇ Á¦·Î´Â ¡¸0x0. 0p0¡¹À̶ó°í µÈ´Ù
double°ªÀÇÀÎ °æ¿ì´Â À¯È¿ ¼ýÀÚ¿Í Áö¼öÀÇ Çʵ带 ³ªÅ¸³»´Âµ¥ ºÎºÐ ij¸¯ÅÍ ¶óÀÎÀÌ »ç¿ëµÈ´Ù. À¯È¿ ¼ýÀڴ ij¸¯ÅÍ ¶óÀÎ ¡¸0x1. ¡¹¶ó°í, ¼Ò¼öºÎ·Î¼ ³ª¸ÓÁöÀÇ À¯È¿ ¼ýÀÚÀÇ ¼Ò¹®ÀÚÀÇ 16 ÁøÇ¥ÇöÀ» °è¼ÓÇØ ³ªÅ¸³»Áø´Ù. ¸ðµç ÀÚ¸®¼ö°¡ 0 ÀÌ ¾Æ´Ñ ÇÑ (¸ðµç °ÍÀÌ 0ÀÎ °æ¿ì´Â ´ÜÀÏÀÇ 0À» »ç¿ë),
16 ÁøÇ¥ÇöÀÇ ¸»¹ÌÀÇ 0 Àº »èÁ¦µÈ´Ù. ´ÙÀ½¿¡
Áö¼ö´Â Áö¼öÄ¡·Î Integer.toString¸¦
È£ÃâÇØ »ý¼ºÇÒ ¶§¿Í °°ÀÌ, ¡¸p¡¹¶ó°í °Å±â¿¡ °è¼ÓµÇ´Â ¿ÏÀüÇÑ Áö¼öÀÇ 10 Áø¼ö ij¸¯ÅÍ ¶óÀÎÀ¸·Î ³ªÅ¸³»Áø´Ù
doubleÄ¡ÀÇ °æ¿ì´Â À¯È¿ ¼ýÀڴ ij¸¯ÅÍ ¶óÀÎ ¡¸0x0. ¡¹¶ó°í, ¼Ò¼öºÎ·Î¼ ³ª¸ÓÁöÀÇ À¯È¿ ¼ýÀÚÀÇ 16 ÁøÇ¥ÇöÀ» °è¼ÓÇØ ³ªÅ¸³»Áø´Ù. 16 ÁøÇ¥ÇöÀÇ ¸»¹ÌÀÇ 0 Àº »èÁ¦µÈ´Ù. ´ÙÀ½¿¡
Áö¼ö´Â ¡¸p-1022¡¹·Î ³ªÅ¸³»Áø´Ù. ºñÁ¤±ÔÀÇ À¯È¿Ä¡¿¡´Â Àû¾îµµ 1°³ÀÇ Á¦·Î°¡ ¾Æ´Ñ ÀÚ¸®¼ö°¡ ¾øÀ¸¸é ¾È µÈ´Ù
| ºÎµ¿ ¼Ò¼öÁ¡Ä¡ | 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
public static Double valueOf(String s)
throws NumberFormatException
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¸¯ÅÍ ¶óÀÎÀÌ ±¸¹® ºÐ¼® °¡´ÉÇÑ ¼öÄ¡¸¦ Æ÷ÇÔÇÏÁö ¾Ê´Â °æ¿ìpublic static Double valueOf(double d)
Double(double)¿¡ ¿ì¼±ÇØ »ç¿ëµË´Ï´Ù. ±× ÀÌÀ¯´Â ÀÌ ¸Þ¼µå°¡ ºó¹øÇÏ°Ô ¿ä±¸µÇ´Â °ªÀ» ij½¬ÇϹǷΠÁ¶ÀÛ¿¡ ÇÊ¿äÇÑ ¿µ¿ªÀ̳ª ½Ã°£ÀÌ ÈξÀ Àû¾îµµ µÇ´Â °æ¿ì°¡ ¸¹±â ¶§¹®ÀÔ´Ï´Ù.
d - double°ª
public static double parseDouble(String s)
throws NumberFormatException
Double Ŭ·¡½ºÀÇ valueOf ¸Þ¼µå¸¦ ½ÇÇàÇßÀ» °æ¿ì¿Í °°°Ô, ÁöÁ¤µÈ String°¡ ³ªÅ¸³»´Â °ª¿¡ ÃʱâÈµÈ »õ·Î¿î double°ªÀ» ¸®ÅÏÇÕ´Ï´Ù.
s - ±¸¹® ºÐ¼® µÇ´Â ij¸¯ÅÍ ¶óÀÎ
double Ä¡
NumberFormatException - ij¸¯ÅÍ ¶óÀÎÀÌ ±¸¹® ºÐ¼® °¡´ÉÇÑ double°ªÀ» Æ÷ÇÔÇÏÁö ¾Ê´Â °æ¿ìvalueOf(String) public static boolean isNaN(double v)
true¸¦, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false¸¦ ¸®ÅÏÇÕ´Ï´Ù.
v - ÆÇÁ¤µÇ´Â °ª
true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â falsepublic static boolean isInfinite(double v)
true¸¦, ±×·¸Áö ¾ÊÀº °æ¿ì¿¡´Â false¸¦ ¸®ÅÏÇÕ´Ï´Ù.
v - ÆÇÁ¤µÇ´Â °ª
true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â falsepublic boolean isNaN()
Double°ªÀÌ
ºñ¼ö (NaN)ÀÎ °æ¿ì¿¡´Â true¸¦, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false¸¦ ¸®ÅÏÇÕ´Ï´Ù.
true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â falsepublic boolean isInfinite()
Double°ªÀÇ Àý´ë°ªÀÌ ¹«ÇÑ·®ÀÎ °æ¿ì¿¡´Â true¸¦, ±×·¸Áö ¾ÊÀº °æ¿ì¿¡´Â false¸¦ ¸®ÅÏÇÕ´Ï´Ù.
true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â falsepublic String toString()
Double °´Ã¼ÀÇ Ä³¸¯ÅÍ ¶óÀΠǥÇöÀ» ¸®ÅÏÇÕ´Ï´Ù. ÀÌ °´Ã¼°¡ ³ªÅ¸³»´Â ¿ø½ÃÀû double°ªÀº
1°³ÀÇ Àμö¸¦ ÃëÇÏ´Â toString ¸Þ¼µå¸¦ ½ÇÇàÇßÀ» °æ¿ì¿Í °°Àº ij¸¯ÅÍ ¶óÀο¡ º¯È¯µË´Ï´Ù.
Object ³»ÀÇ toString String Ç¥ÇötoString(double) public byte byteValue()
Double°ªÀ» (byte¿¡ ij½ºÆ® ÇÏ´Â °ÍÀ¸·Î½á) byte·Î
¼ ¸®ÅÏÇÕ´Ï´Ù.
Number ³»ÀÇ byteValue byte Çü¿¡ º¯È¯µÈ ÀÌ °´Ã¼°¡ ³ªÅ¸³»´Â double Ä¡public short shortValue()
Double°ªÀ» (short¿¡ ij½ºÆ® ÇÏ´Â °ÍÀ¸·Î½á) short·Î
¼ ¸®ÅÏÇÕ´Ï´Ù.
Number ³»ÀÇ shortValue short Çü¿¡ º¯È¯µÈ ÀÌ °´Ã¼°¡ ³ªÅ¸³»´Â double Ä¡public int intValue()
Double°ªÀ» (int Çü¿¡ ij½ºÆ® ÇÏ´Â °ÍÀ¸·Î½á) int·Î
¼ ¸®ÅÏÇÕ´Ï´Ù.
Number ³»ÀÇ intValue int Çü¿¡ º¯È¯µÈ ÀÌ °´Ã¼°¡ ³ªÅ¸³»´Â double Ä¡public long longValue()
Double°ªÀ» (long Çü¿¡ ij½ºÆ® ÇÏ´Â °ÍÀ¸·Î½á) long·Î
¼ ¸®ÅÏÇÕ´Ï´Ù.
Number ³»ÀÇ longValue long Çü¿¡ º¯È¯µÈ ÀÌ °´Ã¼°¡ ³ªÅ¸³»´Â double Ä¡public float floatValue()
Double °´Ã¼ÀÇ float°ªÀ» ¸®ÅÏÇÕ´Ï´Ù.
Number ³»ÀÇ floatValue float Çü¿¡ º¯È¯µÈ ÀÌ °´Ã¼°¡ ³ªÅ¸³»´Â double Ä¡public double doubleValue()
Double °´Ã¼ÀÇ double°ªÀ» ¸®ÅÏÇÕ´Ï´Ù.
Number ³»ÀÇ doubleValue double Ä¡public int hashCode()
Double °´Ã¼ÀÇ ÇØ½Ã Äڵ带 ¸®ÅÏÇÕ´Ï´Ù. °è»êµÈ °á°ú´Â doubleToLongBits(double) ¸Þ¼µåÀÇ °á°ú¿Í ¿ÏÀüÈ÷ ¶È°°ÀÌ, ÀÌ Double °´Ã¼°¡ ³ªÅ¸³»´Â ¿ø½ÃÀû double°ªÀÇ long Á¤¼ö¸¦ ºñÆ® Ç¥ÇöÇÑ »óÀ§ 32 ºñÆ®¿Í ÇÏÀ§ 32 ºñÆ®ÀÇ ¹èŸÀû ³í¸®ÇÕÀÌ µË´Ï´Ù. Áï, ÇØ½Ã ÄÚµå´Â ´ÙÀ½ÀÇ ½ÄÀÇ °ªÀÔ´Ï´Ù. ´Ù¸¸,(int)(v^(v>>>32))
v´Â ´ÙÀ½ÀÇ ½Ä¿¡ ÀÇÇØ Á¤Àǵ˴ϴÙ. long v = Double.doubleToLongBits(this.doubleValue());
Object ³»ÀÇ hashCode hash code Ä¡Object.equals(java.lang.Object),
Hashtable 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°³ ÀÖ½À´Ï´Ù.
d1¿Í
d2
¾çÂÊ ¸ðµÎ°¡ Double.NaNÀ» ³ªÅ¸³», Double.NaN==Double.NaN°ªÀÌ falseÀÎ °Í¿¡µµ ºÒ±¸Çϰí, equals ¸Þ¼µå°¡ true¸¦ µ¹·ÁÁÖ´Â °æ¿ìd1°¡ +0. 0À» ³ªÅ¸³», d2°¡ -0. 0À» ³ªÅ¸³»µç°¡ ȤÀº d1°¡ -0. 0À» ³ªÅ¸³», d2°¡ +0. 0À» ³ªÅ¸³»´Â °æ¿ì·Î+0. 0==-0. 0°ªÀÌ trueÀÎ °Í¿¡µµ ºÒ±¸Çϰí, equal Å×½ºÆ®ÀÇ °ªÀÌ falseÀÎ °æ¿ì
Object ³»ÀÇ equals obj - ºñ±³ ´ë»óÀÇ °´Ã¼
true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â falsedoubleToLongBits(double) public static long doubleToLongBits(double value)
ºñÆ® 63 (¸¶½ºÅ© 0x8000000000000000L¿¡ ÀÇÇØ ¼±ÅõǴ ºñÆ®)Àº ºÎµ¿ ¼Ò¼öÁ¡ÀÇ ºÎÈ£¸¦ ³ªÅ¸³À´Ï´Ù. ºñÆ® 62-52 (¸¶½ºÅ© 0x7ff0000000000000L¿¡ ÀÇÇØ ¼±ÅõǴ ºñÆ®)´Â Áö¼ö¸¦ ³ªÅ¸³À´Ï´Ù. ºñÆ® 51-0 (¸¶½ºÅ© 0x000fffffffffffffL¿¡ ÀÇÇØ ¼±ÅõǴ ºñÆ®)´Â ºÎµ¿ ¼Ò¼öÁ¡ÀÇ À¯È¿Ä¡ (°¡¼ö·Î ºÒ¸®´Â °æ¿ìµµ ÀÖ´Ù)¸¦ ³ªÅ¸³À´Ï´Ù.
Àμö°¡ Á¤ÀÇ ¹«ÇÑ´ëÄ¡ÀÇ °æ¿ì´Â 0x7ff0000000000000L°¡ ¸®Åϵ˴ϴÙ
.
Àμö°¡ ºÎÀÇ ¹«ÇÑ´ëÄ¡ÀÇ °æ¿ì´Â 0xfff0000000000000L°¡ ¸®Åϵ˴ϴÙ
.
Àμö°¡ NaNÀÎ °æ¿ì´Â 0x7ff8000000000000L°¡ ¸®Åϵ˴ϴÙ
.
¾î´À °æ¿ìµµ, ¸®ÅϵÈ
°ªÀº long Á¤¼öÀ̸ç, longBitsToDouble(long) ¸Þ¼µå¸¦ ÁöÁ¤Çϸé, doubleToLongBits¿¡
ÀÇ Àμö¿Í °°Àº ºÎµ¿ ¼Ò¼öÁ¡°ªÀÌ µË´Ï´Ù (¸ðµç NaN °ªÀÌ ´ÜÀÏÀÇ ¡¸Á¤±Ô¡¹NaN Ä¡¿¡ ¼ö³³µÇ´Â °ÍÀ» Á¦¿ÜÇÑ´Ù).
value - double Á¤¹ÐµµÀÇ ºÎµ¿ ¼Ò¼öÁ¡Ä¡
public static long doubleToRawLongBits(double value)
ºñÆ® 63 (¸¶½ºÅ© 0x8000000000000000L¿¡ ÀÇÇØ ¼±ÅõǴ ºñÆ®)Àº ºÎµ¿ ¼Ò¼öÁ¡ÀÇ ºÎÈ£¸¦ ³ªÅ¸³À´Ï´Ù. ºñÆ® 62-52 (¸¶½ºÅ© 0x7ff0000000000000L¿¡ ÀÇÇØ ¼±ÅõǴ ºñÆ®)´Â Áö¼ö¸¦ ³ªÅ¸³À´Ï´Ù. ºñÆ® 51-0 (¸¶½ºÅ© 0x000fffffffffffffL¿¡ ÀÇÇØ ¼±ÅõǴ ºñÆ®)´Â ºÎµ¿ ¼Ò¼öÁ¡ÀÇ À¯È¿Ä¡ (°¡¼ö·Î ºÒ¸®´Â °æ¿ìµµ ÀÖ´Ù)¸¦ ³ªÅ¸³À´Ï´Ù.
Àμö°¡ Á¤ÀÇ ¹«ÇÑ´ëÄ¡ÀÇ °æ¿ì´Â 0x7ff0000000000000L°¡ ¸®Åϵ˴ϴÙ
.
Àμö°¡ ºÎÀÇ ¹«ÇÑ´ëÄ¡ÀÇ °æ¿ì´Â 0xfff0000000000000L°¡ ¸®Åϵ˴ϴÙ
.
Àμö°¡ NaNÀÎ °æ¿ì, ¸®ÅϵÈ
°ªÀº ½ÇÁ¦ÀÇ NaN Ä¡¸¦ ³ªÅ¸³»´Â long Á¤¼öÀÔ´Ï´Ù. doubleToLongBits ¸Þ¼µå¿Í´Â ´Þ¶ó, doubleToRawLongBits ¸Þ¼µå°¡ ¸ðµç ºñÆ® ÆÐÅÏ encode NaN¸¦ ´ÜÀÏÀÇ Á¤±Ô NaN Ä¡¿¡ ¼ö³³ÇÒ °ÍÀº ¾ø½À´Ï´Ù.
¾î´À °æ¿ìµµ, ¸®ÅϵÈ
°ªÀº long Á¤¼öÀ̸ç, longBitsToDouble(long) ¸Þ¼µå¸¦ ÁöÁ¤Çϸé, doubleToRawLongBits¿¡
ÀÇ Àμö¿Í °°Àº ºÎµ¿ ¼Ò¼öÁ¡°ªÀÌ µË´Ï´Ù.
value - double Á¤¹ÐµµÀÇ ºÎµ¿ ¼Ò¼öÁ¡Ä¡
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°³ÀÇ °ª¿¡ ´ëÇØ ´ÙÀ½ÀÇ Àμö·ÎºÎÅÍ °è»êÇÒ ¼ö ÀÖ´Ù°í ÇÕ´Ï´Ù.
ÀÌ °æ¿ì ºÎµ¿ ¼Ò¼öÁ¡Ä¡ÀÇ °á°ú´Â ¼ö½Ä s·m·2e-1075 °ª°ú µ¿ÀÏÇØÁý´Ï´Ù.int s = ((bits >> 63) == 0) ? 1 : -1; int e = (int)((bits >> 52) & 0x7ffL); long m = (e == 0) ? (bits & 0xfffffffffffffL) << 1 : (bits & 0xfffffffffffffL) | 0x10000000000000L;
ÀÌ ¸Þ¼µå´Â 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 ºÎµ¿ ¼Ò¼öÁ¡Ä¡public int compareTo(Double anotherDouble)
Double °´Ã¼¸¦ ¼öÄ¡ÀûÀ¸·Î ºñ±³ÇÕ´Ï´Ù. ÀÌ ¸Þ¼µå¿¡
ÇÑ ºñ±³´Â Java ¾ð¾îÀÇ ¼öÄ¡ ºñ±³ ¿¬»êÀÚ (<, <=, ==, >= >)¸¦ ¿ø½ÃÀû double Ä¡¿¡ Àû¿ëÇßÀ» °æ¿ì¶õ
´ÙÀ½ÀÇ 2 Á¡À¸·Î½á ´Ù¸¨´Ï´Ù. Double.NaN´Â
±× ÀÚü¿Í µ¿ÀÏÇϰí, ´Ù¸¥ ¸ðµç double Ä¡ (Double.POSITIVE_INFINITY¸¦ Æ÷ÇÔÇÑ´Ù)º¸´Ù Å©´Ù°í º¸¿©Áø´Ù0.0d´Â
-0. 0d º¸´Ù Å©´Ù°í º¸¿©Áø´Ù
Comparable <Double > ³»ÀÇ compareTo anotherDouble - ºñ±³ ´ë»óÀÇ Double
anotherDouble°¡ ÀÌ Double¿Í
°°Àº ¼öÄ¡ÀÇ °æ¿ì´Â °ª 0. Double°¡ anotherDouble º¸´Ù ÀÛÀº ¼öÄ¡ÀÇ °æ¿ì´Â 0 º¸´Ù ÀÛÀº °ª. Double°¡ anotherDouble º¸´Ù Å« ¼öÄ¡ÀÇ °æ¿ì´Â 0 º¸´Ù Å« °ª
public static int compare(double d1,
double d2)
double°ªÀ» ºñ±³ÇÕ´Ï´Ù. ¸®ÅϵÈ
Á¤¼ö°ª
ÀÇ ºÎÈ£´Â ´ÙÀ½ÀÇ È£Ãâ·Î ¸®ÅϵÈ
Á¤¼öÀÇ ºÎÈ£¿Í °°°Ô µË´Ï´Ù.
new Double(d1). compareTo(new Double(d2))
d1 - ºñ±³ÇÏ´Â ÃÖÃÊÀÇ doubled2 - ºñ±³ÇÏ´Â 2¹øÂ°ÀÇ double
d1°ªÀÌ d2¿Í
µ¿ÀÏÇÑ °æ¿ì´Â °ª 0, d1°ªÀÌ d2 º¸´Ù ÀÛÀº °æ¿ì´Â 0 º¸´Ù ÀÛÀº °ª, d1°ªÀÌ d2 º¸´Ù Å« °æ¿ì´Â 0 º¸´Ù Å« °ª
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
| °³¿ä: NESTED | Çʵå | constructor | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | |||||||||
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.