JavaTM 2
Platform
Std.  Ed.  v1. 4.0

java.math
Ŭ·¡½º BigDecimal

java.lang.Object 
  |
  +--java.lang.Number 
        |
        +--java.math.BigDecimal
¸ðµç ±¸Çö ÀÎÅÍÆäÀ̽º:
Comparable , Serializable

public class BigDecimal
extends Number
implements Comparable

º¯°æÀÌ ºÒ°¡´ÉÇÑ, ÀÓÀÇ Á¤¹ÐµµÀÇ ºÎÈ£ ÷ºÎ 10 Áø¼öÀÔ´Ï´Ù. BigDecimal ´Â ÀÓÀÇ Á¤¹ÐµµÀÇ ¡¸½ºÄÉÀÏ ¾øÀ½ÀÇ Á¤¼öÄ¡¡¹¶ó°í, ¼Ò¼öÁ¡ ÀÌÇÏÀÇ ÀÚ¸®¼ö¸¦ ³ªÅ¸³»´Â ºÎ°¡ ¾Æ´Ñ 32 ºñÆ® Á¤¼öÀÇ ¡¸½ºÄÉÀÏ¡¹·Î ±¸¼ºµË´Ï´Ù. BigDecimal ·Î ³ªÅ¸³»Áö´Â ¼öÄ¡´Â (unscaledValue/10scale) ÀÔ´Ï´Ù. BigDecimal ´Â ±âº» »ê¼ú, ½ºÄÉÀÏ Á¶ÀÛ, ºñ±³, ÇÖ½Ì, ¹× ¼­½Ä º¯È¯ÀÇ ¿¬»êÀ» Á¦°øÇÕ´Ï´Ù.

BigDecimal Ŭ·¡½º¿¡¼­´Â ¼Ò¼öºÎ¸¦ ÆÄ±âÇÒ ¼ö ÀÖ´Â ¿¬»ê (,divide(BigDecimal, int, int) , ¹× setScale(int, int) )¿¡ ´ëÇØ¼­ À¯Àú°¡ ¸í½ÃÀûÀ¸·Î µÕ±Ù µ¿ÀÛÀ» ÁöÁ¤ÇØ, À¯Àú°¡ µÕ±Ù µ¿ÀÛÀ» ¿ÏÀüÇÏ°Ô Á¦¾îÇÒ ¼ö ÀÖ°Ô ÇÕ´Ï´Ù. ÀÌ ¶§¹®¿¡, 8 krÀÇ ¡¸µÕ±Ù ¸ðµå¡¹°¡ ÁغñµÇ¾î ÀÖ½À´Ï´Ù.

BigDecimal ÀÇ ½ºÄÉÀÏ Á¶ÀÛ¿¡´Â ½½Ä¶¸µ/µÕ±Ù ¿¬»ê°ú ¼Ò¼öÁ¡ À̵¿ ¿¬»êÀÇ 2 Á¾·ù°¡ ÀÖ½À´Ï´Ù. ½½Ä¶¸µ/µÕ±Ù ¿¬»ê (setScale)Àº °ªÀÌ ¿ÀÆÛ·£µåÀÇ °ª°ú °ÅÀÇ (¶Ç´Â Á¤È®È÷) µ¿ÀÏÇÏÁö¸¸ ½ºÄÉÀÏÀº ÁöÁ¤µÈ °ªÀÎ BigDecimal ¸¦ µ¹·ÁÁÝ´Ï´Ù. ÀÌ ¿¬»ê¿¡¼­´Â °ª¿¡ ´ëÇØ¿ä µÎÀÏ±î ¿µÇâÀ¸·Î ¼öÄ¡ÀÇ Á¤¹Ðµµ°¡ »óÇÏÇÕ´Ï´Ù. ¼Ò¼öÁ¡ À̵¿ ¿¬»ê (movePointLeft(int) ¿Í movePointRight(int) )´Â ÁöÁ¤ÇÑ ¹æÇâÀ¸·Î ÁöÁ¤ÇÑ ÀÚ¸®¼ö¸¸ ¼Ò¼öÁ¡À» À̵¿ÇÏ´Â °ÍÀ¸·Î½á ¿ÀÆÛ·£µå·ÎºÎÅÍ ÀÛ¼ºµÇ´Â BigDecimal ¸¦ µ¹·ÁÁÝ´Ï´Ù. ÀÌ ¿¬»êÀº Á¤¹Ðµµ¿¡ ¿µÇâÀ» ÁÖ´Â ÀÏ ¾øÀÌ ¼öÄ¡ÀÇ °ªÀ» º¯°æÇÕ´Ï´Ù.

¼³¸íÀ» ¾Ë±â ½±°í °£°áÇÏ°Ô Çϱâ À§Çؼ­, BigDecimal ¸Þ¼ÒµåÀÇ ¼³¸í¿¡¼­´Â Àüü¸¦ ÅëÇØ ÀÇ»ç Äڵ带 »ç¿ëÇÕ´Ï´Ù. ÀÇ»ç ÄÚµå½Ä (i + j) Àº °ªÀÌ BigDecimal i ÀÇ °ª°ú BigDecimal j ÀÇ °ªÀÇ È­ÀÎ BigDecimal ¸¦ ³ªÅ¸³À´Ï´Ù. ÀÇ»ç ÄÚµå½Ä (i == j) Àº BigDecimal i °¡ BigDecimal j ¿Í °°Àº °ªÀ» ³ªÅ¸³»´Â °æ¿ì¿¡¸¸ÁøÀÎ °ÍÀ» ³ªÅ¸³À´Ï´Ù. ´Ù¸¥ ÀÇ»ç ÄÚµå½Äµµ ¶È°°ÀÌ ÇØ¼®µË´Ï´Ù.

ÁÖ: BigDecimal ¸¦ SortedMap ÀÇ Å° ¶Ç´Â SortedSet ÀÇ ¿ä¼Ò·Î¼­ »ç¿ëÇÏ´Â °æ¿ì´Â ÁÖÀÇÇØ ÁÖ¼¼¿ä. À̰ÍÀº BigDecimal ÀÇ ÀÚ¿¬ ¼ø¼­ºÎ°¡ equals ¿Í ¸ð¼øµÇ±â ¶§¹®ÀÔ´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº Comparable ,SortedMap ¶Ç´Â SortedSet ¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä.

ÀÌ Å¬·¡½ºÀÇ ¸Þ¼Òµå ¹× constructor Àº ¸ðµÎ, ÀÔ·Â ÆÄ¶ó¸ÞÀÌŸ¿¡ ´ëÇØ¼­ null ¿ÀºêÁ§Æ® ÂüÁ¶°¡ °Ç³×¹ÞÀ¸¸é(ÀÚ) NullPointerException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.

°ü·Ã Ç׸ñ:
BigInteger , SortedMap , SortedSet , Á÷·ÄÈ­ µÈ Çü½Ä

ÇʵåÀÇ °³¿ä
static int ROUND_CEILING
          Á¤ÀÇ ¹«ÇÑ´ë¿¡ °¡±î¿öÁöµµ·Ï(µíÀÌ) ¸¶´Â ¸ðµåÀÔ´Ï´Ù.
static int ROUND_DOWN
          0 ¿¡ °¡±î¿öÁöµµ·Ï(µíÀÌ) ¸¶´Â ¸ðµåÀÔ´Ï´Ù.
static int ROUND_FLOOR
          ºÎÀÇ ¹«ÇÑ´ë¿¡ °¡±î¿öÁöµµ·Ï(µíÀÌ) ¸¶´Â ¸ðµåÀÔ´Ï´Ù.
static int ROUND_HALF_DOWN
           ¡¸°¡Àå °¡±î¿î ¼ýÀÚ¡¹¿¡ ¸¶´Â ¸ðµåÀÔ´Ï´Ù.
static int ROUND_HALF_EVEN
           ¡¸°¡Àå °¡±î¿î ¼ýÀÚ¡¹¿¡ ¸¶´Â ¸ðµåÀÔ´Ï´Ù.
static int ROUND_HALF_UP
           ¡¸°¡Àå °¡±î¿î ¼ýÀÚ¡¹¿¡ ¸¶´Â ¸ðµåÀÔ´Ï´Ù.
static int ROUND_UNNECESSARY
          ¿ä±¸µÇ´Â ¿¬»êÀÇ °á°ú°¡ Á¤È®Çϰí, µÕ±ÙÀÌ ÇÊ¿äÇÏÁö ¾ÊÀº °ÍÀ» ³ªÅ¸³»´Â µÕ±Ù ¸ðµåÀÔ´Ï´Ù.
static int ROUND_UP
          0 ·ÎºÎÅÍ ¸Ö¾îÁöµµ·Ï(µíÀÌ) ¸¶´Â ¸ðµåÀÔ´Ï´Ù.
 
»ý¼ºÀÚÀÇ °³¿ä
BigDecimal (BigInteger  val)
          BigInteger ¸¦ BigDecimal ·Î º¯È¯ÇÕ´Ï´Ù.
BigDecimal (BigInteger  unscaledVal, int scale)
          BigInteger ÀÇ ½ºÄÉÀÏ ¾øÀ½ÀÇ °ª°ú int ½ºÄÉÀÏÀ» BigDecimal ·Î º¯È¯ÇÕ´Ï´Ù.
BigDecimal (double val)
          double ¸¦ BigDecimal ·Î º¯È¯ÇÕ´Ï´Ù.
BigDecimal (String  val)
          BigDecimal ÀÇ String Ç¥ÇöÀ» BigDecimal ·Î º¯È¯ÇÕ´Ï´Ù.
 
¸Þ¼ÒµåÀÇ °³¿ä
 BigDecimal abs ()
          °ªÀÌ ÀÌ BigDecimal ÀÇ Àý´ëÄ¡·Î ½ºÄÉÀÏÀÌ this.scale() ÀÇ BigDecimal ¸¦ µ¹·ÁÁÝ´Ï´Ù.
 BigDecimal add (BigDecimal  val)
          °ªÀÌ (this + val) ·Î ½ºÄÉÀÏÀÌ max(this.scale(), val.scale()) ÀÇ BigDecimal ¸¦ µ¹·ÁÁÝ´Ï´Ù.
 int compareTo (BigDecimal  val)
          ÀÌ BigDecimal °ú ÁöÁ¤µÈ BigDecimal ¸¦ ºñ±³ÇÕ´Ï´Ù.
 int compareTo (Object  o)
          ÀÌ BigDecimal °ú ÁöÁ¤µÈ Object ¸¦ ºñ±³ÇÕ´Ï´Ù.
 BigDecimal divide (BigDecimal  val, int roundingMode)
          °ªÀÌ (this / val) ·Î ½ºÄÉÀÏÀÌ this.scale() ÀÎ BigDecimal ¸¦ µ¹·ÁÁÝ´Ï´Ù.
 BigDecimal divide (BigDecimal  val, int scale, int roundingMode)
          °ªÀÌ (this / val) ·Î, ½ºÄÉÀÏÀÌ ÁöÁ¤µÈ °ÍÀÎ BigDecimal ¸¦ µ¹·ÁÁÝ´Ï´Ù.
 double doubleValue ()
          ÀÌ BigDecimal ¸¦ double ·Î º¯È¯ÇÕ´Ï´Ù.
 boolean equals (Object  x)
          ÀÌ BigDecimal ¿Í ÁöÁ¤µÈ Object °¡ µ¿ÀÏÇÑÁö ¾î¶²Áö¸¦ ºñ±³ÇÕ´Ï´Ù.
 float floatValue ()
          ÀÌ BigDecimal ¸¦ float ·Î º¯È¯ÇÕ´Ï´Ù.
 int hashCode ()
          ÀÌ BigDecimal ÀÇ ÇØ½Ã Äڵ带 µ¹·ÁÁÝ´Ï´Ù.
 int intValue ()
          ÀÌ BigDecimal ¸¦ int ·Î º¯È¯ÇÕ´Ï´Ù.
 long longValue ()
          ÀÌ BigDecimal ¸¦ long ·Î º¯È¯ÇÕ´Ï´Ù.
 BigDecimal max (BigDecimal  val)
          ÀÌ BigDecimal ¿Í val ÀÇ ÃÖ´ëÄ¡¸¦ µ¹·ÁÁÝ´Ï´Ù.
 BigDecimal min (BigDecimal  val)
          ÀÌ BigDecimal ¿Í val ÀÇ ÃÖ¼ÒÄ¡¸¦ µ¹·ÁÁÝ´Ï´Ù.
 BigDecimal movePointLeft (int n)
          ¼Ò¼öÁ¡À» n ÇüÁ¿¡ À̵¿ÇØ À̰Ϳ¡ µ¿ÀÏÇÑ BigDecimal ¸¦ µ¹·ÁÁÝ´Ï´Ù.
 BigDecimal movePointRight (int n)
          ¼Ò¼öÁ¡ÀÌ ÁöÁ¤µÈ ÀÚ¸®¼ö¸¸ ¿ìÃøÇâ¿¡ À̵¿½Ãŵ´Ï´Ù.
 BigDecimal multiply (BigDecimal  val)
          °ªÀÌ (this * val) ·Î ½ºÄÉÀÏÀÌ (this.scale() + val.scale()) ÀÇ BigDecimal ¸¦ µ¹·ÁÁÝ´Ï´Ù.
 BigDecimal negate ()
          °ªÀÌ (-this) ·Î ½ºÄÉÀÏÀÌ this.scale() ÀÇ BigDecimal ¸¦ µ¹·ÁÁÝ´Ï´Ù.
 int scale ()
          ÀÌ BigDecimal ÀÇ ¡¸½ºÄÉÀÏ¡¹À» µ¹·ÁÁÝ´Ï´Ù.
 BigDecimal setScale (int scale)
          ½ºÄÉÀÏÀÌ ÁöÁ¤µÈ °ªÀ̸ç, °ªÀÌ ÀÌ BigDecimal °ú µ¿ÀÏÇÑ BigDecimal ¸¦ µ¹·ÁÁÝ´Ï´Ù.
 BigDecimal setScale (int scale, int roundingMode)
          ½ºÄÉÀÏÀÌ ÁöÁ¤µÈ °ªÀ̸ç, ÇÑÆí ½ºÄÉÀÏ ¾øÀ½ÀÇ °ªÀÌ, ÀÌ BigDecimal ÀÇ ½ºÄÉÀÏ ¾øÀ½ÀÇ °ª°ú ÃÑüġ¸¦ À¯ÁöÇÒ ¼ö ÀÖ´Â Àû´çÇÑ 10 ÀÇ ´©½ÂÀÇ Àû ¶Ç´Â »ó¿¡ ÀÇÇØ °áÁ¤µÇ´Â BigDecimal ¸¦ µ¹·ÁÁÝ´Ï´Ù.
 int signum ()
          ÀÌ BigDecimal ÀÇ ºÎȣġ¸¦ µ¹·ÁÁÝ´Ï´Ù.
 BigDecimal subtract (BigDecimal  val)
          °ªÀÌ (this - val) ·Î ½ºÄÉÀÏÀÌ max(this.scale(), val.scale()) ÀÇ BigDecimal ¸¦ µ¹·ÁÁÝ´Ï´Ù.
 BigInteger toBigInteger ()
          ÀÌ BigDecimal ¸¦ BigInteger ·Î º¯È¯ÇÕ´Ï´Ù.
 String toString ()
          ÀÌ BigDecimal ÀÇ String Ç¥ÇöÀ» µ¹·ÁÁÝ´Ï´Ù.
 BigInteger unscaledValue ()
          °ªÀÌ ÀÌ BigDecimal ÀÇ ¡¸½ºÄÉÀÏ ¾øÀ½ÀÇ °ª¡¹ÀÎ BigDecimal ¸¦ µ¹·ÁÁÝ´Ï´Ù ((this * 10this.scale()) ¸¦ °è»êÇÑ´Ù).
static BigDecimal valueOf (long val)
          long Ä¡¸¦ ½ºÄÉÀÏÀÌ 0 ÀÇ BigDecimal ·Î º¯È¯ÇÕ´Ï´Ù.
static BigDecimal valueOf (long unscaledVal, int scale)
          long ÀÇ ½ºÄÉÀÏ ¾øÀ½ÀÇ °ª°ú int ½ºÄÉÀÏÀ» BigDecimal ·Î º¯È¯ÇÕ´Ï´Ù.
 
Ŭ·¡½º java.lang. Number ¿¡¼­ »ó¼Ó¹ÞÀº ¸Þ¼Òµå
byteValue , shortValue
 
Ŭ·¡½º java.lang. Object ¿¡¼­ »ó¼Ó¹ÞÀº ¸Þ¼Òµå
clone , finalize , getClass , notify , notifyAll , wait , wait , wait
 

ÇʵåÀÇ »ó¼¼

ROUND_UP

public static final int ROUND_UP
0 À¸·ÎºÎÅÍ ¸Ö¾îÁöµµ·Ï(µíÀÌ) ¸¶´Â ¸ðµåÀÔ´Ï´Ù. ÆÄ±âµÇ´Â 0 ÀÌ¿ÜÀÇ ¼Ò¼öºÎ¿¡ ¼±ÇàÇÏ´Â ÀÚ¸®¼ö¸¦ Ç×»ó ´Ã¸³´Ï´Ù. ÀÌ µÕ±Ù ¸ðµå´Â °è»êµÈ °ªÀÇ Àý´ëÄ¡¸¦ ÁÙÀÌÁö ¾Ê½À´Ï´Ù.

°ü·Ã Ç׸ñ:
Á¤¼ö ÇʵåÄ¡

ROUND_DOWN

public static final int ROUND_DOWN
0 ¿¡ °¡±î¿öÁöµµ·Ï(µíÀÌ) ¸¶´Â ¸ðµåÀÔ´Ï´Ù. ÆÄ±âµÇ´Â ¼Ò¼öºÎ¿¡ ¼±ÇàÇÏ´Â ÀÚ¸®¼ö¸¦ ÁõºÐ ÇÏÁö ¾Ê½À´Ï´Ù (Áï Àß¶ó¼­ ¹ö¸²). ÀÌ µÕ±Ù ¸ðµå´Â °è»êµÈ °ªÀÇ Àý´ëÄ¡¸¦ ´Ã¸®Áö ¾Ê½À´Ï´Ù.

°ü·Ã Ç׸ñ:
Á¤¼ö ÇʵåÄ¡

ROUND_CEILING

public static final int ROUND_CEILING
Á¤ÀÇ ¹«ÇÑ´ë¿¡ °¡±î¿öÁöµµ·Ï(µíÀÌ) ¸¶´Â ¸ðµåÀÔ´Ï´Ù. BigDecimal °¡ Á¤ÀÇ °æ¿ì´Â ROUND_UP ¿Í °°ÀÌ µ¿ÀÛÇØ, ºÎÀÇ °æ¿ì´Â ROUND_DOWN ¿Í °°ÀÌ µ¿ÀÛÇÕ´Ï´Ù. ÀÌ µÕ±Ù ¸ðµå´Â °è»êµÈ °ªÀ» ÁÙÀÌÁö ¾Ê½À´Ï´Ù.

°ü·Ã Ç׸ñ:
Á¤¼ö ÇʵåÄ¡

ROUND_FLOOR

public static final int ROUND_FLOOR
ºÎÀÇ ¹«ÇÑ´ë¿¡ °¡±î¿öÁöµµ·Ï(µíÀÌ) ¸¶´Â ¸ðµåÀÔ´Ï´Ù. BigDecimal ÀÌ Á¤ÀÇ °æ¿ì´Â ROUND_DOWN ¿Í °°ÀÌ µ¿ÀÛÇØ, ºÎÀÇ °æ¿ì´Â ROUND_UP ¿Í °°ÀÌ µ¿ÀÛÇÕ´Ï´Ù. ÀÌ µÕ±Ù ¸ðµå´Â °è»êµÈ °ªÀ» ´Ã¸®Áö ¾Ê½À´Ï´Ù.

°ü·Ã Ç׸ñ:
Á¤¼ö ÇʵåÄ¡

ROUND_HALF_UP

public static final int ROUND_HALF_UP
¡¸°¡Àå °¡±î¿î ¼ýÀÚ¡¹¿¡ ¸¶´Â ¸ðµåÀÔ´Ï´Ù. ´Ù¸¸, ¾çÂÊÀÌ¿ôÀÇ ¼ýÀÚ°¡ µî°Å¸®ÀÇ °æ¿ì´Â ³¡¸Î½À´Ï´Ù. ÆÄ±âµÇ´Â ¼Ò¼öºÎ°¡ . 5 ÀÌ»óÀÇ °æ¿ì´Â ROUND_UP ¿Í °°ÀÌ µ¿ÀÛÇØ, ±× ÀÌ¿ÜÀÇ °æ¿ì´Â ROUND_DOWN ¿Í °°ÀÌ µ¿ÀÛÇÕ´Ï´Ù. À̰ÍÀº ¿ì¸®ÀÇ ´ëºÎºÐÀÌ ÃʵîÇб³¿¡¼­ ¹è¿î Àý»óÀÔ´Ï´Ù.

°ü·Ã Ç׸ñ:
Á¤¼ö ÇʵåÄ¡

ROUND_HALF_DOWN

public static final int ROUND_HALF_DOWN
¡¸°¡Àå °¡±î¿î ¼ýÀÚ¡¹¿¡ ¸¶´Â ¸ðµåÀÔ´Ï´Ù. ´Ù¸¸, ¾çÂÊÀÌ¿ôÀÇ ¼ýÀÚ°¡ µî°Å¸®ÀÇ °æ¿ì´Â Àß¶ó ¹ö¸³´Ï´Ù. ÆÄ±âµÇ´Â ¼Ò¼öºÎ°¡ . 5 ¸¦ ³Ñ´Â °æ¿ì´Â ROUND_UP ¿Í °°ÀÌ µ¿ÀÛÇØ, ±× ÀÌ¿ÜÀÇ °æ¿ì´Â ROUND_DOWN ¿Í °°ÀÌ µ¿ÀÛÇÕ´Ï´Ù.

°ü·Ã Ç׸ñ:
Á¤¼ö ÇʵåÄ¡

ROUND_HALF_EVEN

public static final int ROUND_HALF_EVEN
¡¸°¡Àå °¡±î¿î ¼ýÀÚ¡¹¿¡ ¸¶´Â ¸ðµåÀÔ´Ï´Ù. ´Ù¸¸, ¾çÂÊÀÌ¿ôÀÇ ¼ýÀÚ°¡ µî°Å¸®ÀÇ °æ¿ì´Â ¦¼ö Ãø¿¡ ¸¿´Ï´Ù. ÆÄ±âÇÏ´Â ¼Ò¼öºÎÀÇ Áº¯ÀÇ ÀÚ¸®¼ö°¡ Ȧ¼öÀÇ °æ¿ì´Â ROUND_HALF_UP ¿Í °°ÀÌ µ¿ÀÛÇØ, ¦¼öÀÇ °æ¿ì´Â ROUND_HALF_DOWN ¿Í °°ÀÌ µ¿ÀÛÇÕ´Ï´Ù. ÀÌ µÕ±Ù ¸ðµå´Â ¿¬¼ÓÇÏ´Â °è»êÀ¸·Î ¹Ýº¹ÇØ Àû¿ëµÇ´Â °æ¿ì¿¡ ´©Àû ¿¡·¯¸¦ ÃÖ¼Ò·Î ÇÕ´Ï´Ù.

°ü·Ã Ç׸ñ:
Á¤¼ö ÇʵåÄ¡

ROUND_UNNECESSARY

public static final int ROUND_UNNECESSARY
¿ä±¸µÇ´Â ¿¬»êÀÇ °á°ú°¡ Á¤È®Çϰí, µÕ±ÙÀÌ ÇÊ¿äÇÏÁö ¾ÊÀº °ÍÀ» ³ªÅ¸³»´Â µÕ±Ù ¸ðµåÀÔ´Ï´Ù. ÀÌ µÕ±Ù ¸ðµå°¡ °á°ú°¡ Á¤È®ÇÏÁö ¾ÊÀº ¿¬»êÀ¸·Î ÁöÁ¤µÇ´Â °æ¿ì´Â ArithmeticException °¡ ½½·Î¿ì µË´Ï´Ù.

°ü·Ã Ç׸ñ:
Á¤¼ö ÇʵåÄ¡
»ý¼ºÀÚÀÇ »ó¼¼

BigDecimal

public BigDecimal(String  val)
BigDecimal ÀÇ String Ç¥ÇöÀ» BigDecimal ·Î º¯È¯ÇÕ´Ï´Ù. String Ç¥ÇöÀº ÀÓÀÇÀÇ ºÎÈ£ '+' ('\u002B') ¶Ç´Â '-' ('\u002D')¿Í °Å±â¿¡ °è¼ÓµÇ´Â 0 ÀÌ»óÀÇ 10 Áø¼öÀÚ ( ¡¸Á¤¼öºÎ¡¹)ÀÇ ¿­·Î ±¸¼ºµÇ¾î ÀÓÀÇ·Î ¼Ò¼öºÎ ¶Ç´Â Áö¼ö°¡ ºÎ¼ö ÇÕ´Ï´Ù.

¼Ò¼öºÎ´Â ¼Ò¼öÁ¡°ú 0 ÀÌ»óÀÇ 10 Áø¼öÀÚ·Î ±¸¼ºµË´Ï´Ù. ÀÌ Ä³¸¯ÅÍ ¶óÀο¡¼­´Â Á¤¼öºÎ ¶Ç´Â ¼Ò¼öºÎ°¡ Àû¾îµµ 1 ÀÚ¸®¼ö´Â ÇÊ¿äÇÕ´Ï´Ù. ºÎÈ£°¡ ºÙÀº ¼ýÀÚ´Â Á¤¼öºÎ ¹× ¼Ò¼öºÎ ¸ðµÎ significand ·Î¼­ ÂüÁ¶µË´Ï´Ù.

Áö¼ö´Â 'e' ('\u0075') ¶Ç´Â 'E' ('\u0045')¶ó°í Çϴ ij¸¯ÅͷκÎÅÍ ±¸¼ºµÇ¾î 1 ÀÌ»óÀÇ 10 Áø¼öÀÚ°¡ °è¼ÓµË´Ï´Ù. Áö¼öÄ¡´Â -Integer.MAX_VALUE (Integer.MIN_VALUE +1)·ÎºÎÅÍ Integer.MAX_VALUE ÀÇ »çÀÌ¿¡ µé¾î°¡°í ÀÖÀ» Çʿ䰡 ÀÖ½À´Ï´Ù.

Áï, ÀÌ constructor ÀÌ ¹Þ¾ÆµéÀ̴ ij¸¯ÅÍ ¶óÀÎÀº ´ÙÀ½ÀÇ ¹®¹ý¿¡ µû¶ó ±â¼úµË´Ï´Ù.

BigDecimalString:
Signopt Significand Exponentopt

Sign:
+
-

Significand:
IntegerPart . FractionPartopt
. FractionPart
IntegerPart

IntegerPart:
Digits

FractionPart:
Digits

Exponent:
ExponentIndicator SignedInteger

ExponentIndicator:
e
E

SignedInteger:
Signopt Digits

Digits:
Digit
Digits Digit

Digit:
Character.isDigit(char) °¡ true ¸¦ µ¹·ÁÁÖ´Â ÀÓÀÇÀÇ Ä³¸¯ÅÍ (0, 1, 2 µî)

µ¹·ÁÁÖ¾îÁö´Â BigDecimal ÀÇ ½ºÄÉÀÏÀº ¼Ò¼öÁ¡ÀÇ ÀÚ¸®¼ö ¶Ç´Â ij¸¯ÅÍ ¶óÀο¡ ¼Ò¼öÁ¡ÀÌ ¾ø´Â °æ¿ì´Â Á¦·Î°¡ µÇ¾î, Áö¼ö¸¦ Á¶Á¤ÇÕ´Ï´Ù. ij¸¯ÅÍ ¶óÀο¡ Áö¼ö°¡ ÀÖ´Â °æ¿ì, ½ºÄÉÀϷκÎÅÍ Áö¼ö°¡ °¨»êµË´Ï´Ù. ±× °á°ú ½ºÄÉÀÏÀÌ ºÎ°¡ µÇ´Â °æ¿ì, µ¹·ÁÁÖ¾îÁö´Â BigDecimal ÀÇ ½ºÄÉÀÏÀº Á¦·Î°¡ µÇ¾î, ½ºÄÉÀÏ ¾øÀ½ÀÇ °ªÀº 10 ÀÇ ´©½ÂÀÇ ÀûÀÌ µË´Ï´Ù. ÀÌ °á°ú, BigDecimal ´Â À¯È¿ ¼ýÀÚ × 10Áö¼ö ¿Í µ¿ÀÏÇØÁý´Ï´Ù. (ÇâÈÄ, ºÎÀÇ ½ºÄÉÀÏÀ» ÀÎÁ¤Çϵµ·Ï(µíÀÌ) ÀÌ »ç¾çÀÌ ¼öÁ¤µÇ¾î ½ºÄÉÀÏÀÇ Á¦·ÎÈ­ ¹× ½ºÄÉÀÏ ¾øÀ½ÀÇ °ªÀÇ Á¶Á¤Àº »èÁ¦µÉ ¿¹Á¤ÀÔ´Ï´Ù. )

ij¸¯ÅÍÇüÀ¸·ÎºÎÅÍ ¼öÄ¡Çü¿¡ÀÇ ¸ÅÇÎÀº Character.digit(char, int) ·Î Á¦°øµÇ¾î ±â¼ö 10 ¿¡ÀÇ º¯È¯À¸·Î ¼³Á¤µÇ¾î ÀÖ½À´Ï´Ù. String ¿¡´Â ºÎÀûÀýÇÑ Ä³¸¯ÅÍ (°ø¹éµî)¸¦ Æ÷ÇÔÇÒ ¼ö ¾ø½À´Ï´Ù.

ÁÖ: ´Ù¸¥ float ¹× double ÀÇ NaN, ¹× ±Infinity ÀÇ °ªÀ¸·Î´Â ÀÌ constructor Àº Float.toString(float) ¹× Double.toString(double) . ±×¸®°í µ¹·ÁÁÖ¾îÁö´Â °ª°ú ȣȯ¼ºÀÌ ÀÖ½À´Ï´Ù. ÀÌ ¹æ¹ýÀº float ¶Ç´Â double ¸¦ BigDecimal ·Î º¯È¯ÇÏ´Â ÁÁÀº ¹æ¹ýÀÔ´Ï´Ù. ±× ÀÌÀ¯´Â BigDecimal(double) constructor ÀÇ ¿¹ÃøÀ» ÇÒ ¼ö ¾ø¾îµµ ¿µÇâÀ» ¹ÞÁö ¾Ê±â ¶§¹®ÀÔ´Ï´Ù.

ÁÖ: ¸±¸®½º 1.3 ÀÌÈÄ¿¡¼­´Â ¼±µÎÀÇ Ç÷¯½º ±âÈ£ ¹× ¸»¹ÌÀÇ Áö¼ö¸¦ ÀÓÀÇ·Î ºÙÀÏ ¼ö°¡ ÀÖ°Ô µÇ¾ú½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
val - BigDecimal ÀÇ String Ç¥Çö
¿¹¿Ü:
NumberFormatException - val ´Â BigDecimal ÀÇ Ç¥ÇöÀ¸·Î¼­´Â ¹«È¿ÀÌ´Ù

BigDecimal

public BigDecimal(double val)
double ¸¦ BigDecimal ·Î º¯È¯ÇÕ´Ï´Ù. BigDecimal ÀÇ ½ºÄÉÀÏÀº (10scale * val) °¡ Á¤¼öÀÎ ÃÖ¼ÒÀÇ °ªÀÔ´Ï´Ù.

ÁÖ: ÀÌ constructor ÀÇ °á°ú´Â ¿¹»ó¿ÜÀÏ °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. new BigDecimal(. 1) Àº Á¤È®ÇÏ°Ô . 1 À¸·Î µ¿ÀÏÇÏ´Ù°í »ý°¢µÉÁöµµ ¸ð¸¨´Ï´Ù¸¸, ½ÇÁ¦·Î´Â . 1000000000000000055511151231257827021181583404541015625 °¡ µË´Ï´Ù. À̰ÍÀº . 1 À» double (¶Ç´Â À¯ÇÑÀå 2 Áø¼Ò¼ö)·Î¼­ Á¤È®ÇÏ°Ô Ç¥ÇöÇÒ ¼ö ¾ø±â ¶§¹®ÀÔ´Ï´Ù. µû¶ó¼­, constructor·Î °Ç³×Á® ÀÖ´Â long Ä¡´Â Á¤È®ÇÏ°Ô . 1 À¸·Î µ¿ÀÏÇÑ °ÍÀº ¾Æ´Õ´Ï´Ù.

ÇÑÆí, String ¸¦ Àμö·Î ÇÏ´Â constructor Àº ¿¹Ãø °¡´ÉÇÕ´Ï´Ù. new BigDecimal(". 1") Àº ¡¸Á¤È®Çϰԡ¹ . 1 À¸·Î µ¿ÀÏÇØÁý´Ï´Ù. ±× ¶§¹®¿¡, Åë»óÀº double ¸¦ Àμö·Î ÇÏ´Â constructor ´ë½Å¿¡ String ¸¦ Àμö·Î ÇÏ´Â constructor¸¦ »ç¿ëÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
val - BigDecimal ·Î º¯È¯ÇÏ´Â double Ä¡
¿¹¿Ü:
NumberFormatException - val ´Â Double.NEGATIVE_INFINITY,Double.POSITIVE_INFINITY, ¶Ç´Â Double.NaN ¿Í µ¿ÀÏÇÏ´Ù

BigDecimal

public BigDecimal(BigInteger  val)
BigInteger À» BigDecimal ·Î º¯È¯ÇÕ´Ï´Ù. BigDecimal ÀÇ ½ºÄÉÀÏÀº 0 ÀÔ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
val - BigDecimal ·Î º¯È¯ÇÏ´Â BigInteger Ä¡

BigDecimal

public BigDecimal(BigInteger  unscaledVal,
                  int scale)
BigInteger ÀÇ ½ºÄÉÀÏ ¾øÀ½ÀÇ °ª°ú int ½ºÄÉÀÏÀ» BigDecimal ·Î º¯È¯ÇÕ´Ï´Ù. BigDecimal ÀÇ °ªÀº (unscaledVal/10scale) ÀÔ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
unscaledVal - BigDecimal ÀÇ ½ºÄÉÀÏ ¾øÀ½ÀÇ °ª
scale - BigDecimal ÀÇ ½ºÄÉÀÏ
¿¹¿Ü:
NumberFormatException - ½ºÄÉÀÏÀÌ ºÎÀÇ °æ¿ì
¸Þ¼ÒµåÀÇ »ó¼¼

valueOf

public static BigDecimal  valueOf(long unscaledVal,
                                 int scale)
long ÀÇ ½ºÄÉÀÏ ¾øÀ½ÀÇ °ª°ú int ½ºÄÉÀÏÀ» BigDecimal ·Î º¯È¯ÇÕ´Ï´Ù. ÀÌ static ¸Þ¼Òµå´Â ÀÚÁÖ(Àß) »ç¿ëµÇ´Â BigDecimal ¸¦ ÀçÀÌ¿ëÇÒ ¼ö ÀÖ°Ô Çϱâ À§Çؼ­, long ¿Í int ¸¦ Àμö·Î ÇÏ´Â constructor ´ë½Å¿¡ Á¦°øµË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
unscaledVal - BigDecimal ÀÇ ½ºÄÉÀÏ ¾øÀ½ÀÇ °ª
scale - BigDecimal ÀÇ ½ºÄÉÀÏ
¹Ýȯ°ª:
Ä¡°¡ (unscaledVal/10scale) ÀÇ BigDecimal

valueOf

public static BigDecimal  valueOf(long val)
long Ä¡¸¦ ½ºÄÉÀÏÀÌ 0 ÀÇ BigDecimal ·Î º¯È¯ÇÕ´Ï´Ù. ÀÌ static ¸Þ¼Òµå´Â ÀÚÁÖ(Àß) »ç¿ëµÇ´Â BigDecimal ¸¦ ÀçÀÌ¿ëÇÒ ¼ö ÀÖ°Ô Çϱâ À§Çؼ­, long ¸¦ Àμö·Î ÇÏ´Â constructor ´ë½Å¿¡ Á¦°øµË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
val - BigDecimal ÀÇ °ª
¹Ýȯ°ª:
Ä¡°¡ val ÀÇ BigDecimal

add

public BigDecimal  add(BigDecimal  val)
°ªÀÌ (this + val) ·Î ½ºÄÉÀÏÀÌ max(this.scale(), val.scale()) ÀÇ BigDecimal ¸¦ µ¹·ÁÁÝ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
val - ÀÌ BigDecimal ¿¡ °¡»êÇÏ´Â °ª
¹Ýȯ°ª:
this + val

subtract

public BigDecimal  subtract(BigDecimal  val)
°ªÀÌ (this - val) ·Î ½ºÄÉÀÏÀÌ max(this.scale(), val.scale()) ÀÇ BigDecimal ¸¦ µ¹·ÁÁÝ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
val - ÀÌ BigDecimal ·ÎºÎÅÍ °¨»êÇÏ´Â °ª
¹Ýȯ°ª:
this - val

multiply

public BigDecimal  multiply(BigDecimal  val)
°ªÀÌ (this * val) ·Î ½ºÄÉÀÏÀÌ (this.scale() + val.scale()) ÀÇ BigDecimal ¸¦ µ¹·ÁÁÝ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
val - ÀÌ BigDecimal ·Î °ö¼ÀÇÏ´Â °ª
¹Ýȯ°ª:
this * val

divide

public BigDecimal  divide(BigDecimal  val,
                         int scale,
                         int roundingMode)
°ªÀÌ (this / val) ·Î, ½ºÄÉÀÏÀÌ ÁöÁ¤µÈ °ÍÀÎ BigDecimal ¸¦ µ¹·ÁÁÝ´Ï´Ù. µÕ±ÙÀ» ½Ç½ÃÇØ, ÁöÁ¤ÇÑ ½ºÄÉÀÏ·Î °á°ú¸¦ »ý¼ºÇÒ Çʿ䰡 ÀÖ´Â °æ¿ì´Â ÁöÁ¤ÇÑ µÕ±Ù ¸ðµå°¡ Àû¿ëµË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
val - ÀÌ BigDecimal ¸¦ Á¦»êÇÏ´Â °ª
scale - µ¹·ÁÁÖ¾îÁö´Â BigDecimal ÀÇ »óÀÇ ½ºÄÉÀÏ
roundingMode - Àû¿ëÇÏ´Â µÕ±Ù ¸ðµå
¹Ýȯ°ª:
this / val
¿¹¿Ü:
ArithmeticException - val °¡ 0 ÀÎÁö scale °¡ ºÎÀ̵簡, ȤÀº roundingMode==ROUND_UNNECESSARY ·Î, ÁöÁ¤ÇÑ ½ºÄÉÀÏÀÌ Á¦»êÀÇ °á°ú¸¦ Á¤È®ÇÏ°Ô ³ªÅ¸³»±â¿¡´Â ÃæºÐÇÏÁö ¾ÊÀº °æ¿ì
IllegalArgumentException - roundingMode °¡ À¯È¿ÇÑ µÕ±Ù ¸ðµå¸¦ ³ªÅ¸³»Áö ¾Ê´Â °æ¿ì
°ü·Ã Ç׸ñ:
ROUND_UP , ROUND_DOWN , ROUND_CEILING , ROUND_FLOOR , ROUND_HALF_UP , ROUND_HALF_DOWN , ROUND_HALF_EVEN , ROUND_UNNECESSARY

divide

public BigDecimal  divide(BigDecimal  val,
                         int roundingMode)
°ªÀÌ (this / val) ·Î ½ºÄÉÀÏÀÌ this.scale() ÀÎ BigDecimal ¸¦ µ¹·ÁÁÝ´Ï´Ù. µÕ±ÙÀ» ½Ç½ÃÇØ, ƯÁ¤ÀÇ ½ºÄÉÀÏ·Î °á°ú¸¦ »ý¼ºÇÒ Çʿ䰡 ÀÖ´Â °æ¿ì´Â ÁöÁ¤µÈ µÕ±Ù ¸ðµå°¡ Àû¿ëµË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
val - ÀÌ BigDecimal ¸¦ Á¦»êÇÏ´Â °ª
roundingMode - Àû¿ëÇÏ´Â µÕ±Ù ¸ðµå
¹Ýȯ°ª:
this / val
¿¹¿Ü:
ArithmeticException - val==0 À̵簡, ȤÀº roundingMode==ROUND_UNNECESSARY ·Î this.scale() °¡ Á¦»êÀÇ °á°ú¸¦ Á¤È®ÇÏ°Ô ³ªÅ¸³»±â¿¡´Â ÃæºÐÇÏÁö ¾ÊÀº °æ¿ì
IllegalArgumentException - roundingMode °¡ À¯È¿ÇÑ µÕ±Ù ¸ðµå¸¦ ³ªÅ¸³»Áö ¾Ê´Â °æ¿ì
°ü·Ã Ç׸ñ:
ROUND_UP , ROUND_DOWN , ROUND_CEILING , ROUND_FLOOR , ROUND_HALF_UP , ROUND_HALF_DOWN , ROUND_HALF_EVEN , ROUND_UNNECESSARY

abs

public BigDecimal  abs()
°ªÀÌ ÀÌ BigDecimal ÀÇ Àý´ëÄ¡·Î ½ºÄÉÀÏÀÌ this.scale() ÀÇ BigDecimal ¸¦ µ¹·ÁÁÝ´Ï´Ù.

¹Ýȯ°ª:
abs(this)

negate

public BigDecimal  negate()
°ªÀÌ (-this) ·Î ½ºÄÉÀÏÀÌ this.scale() ÀÇ BigDecimal ¸¦ µ¹·ÁÁÝ´Ï´Ù.

¹Ýȯ°ª:
-this

signum

public int signum()
ÀÌ BigDecimal ÀÇ ºÎȣġ¸¦ µ¹·ÁÁÝ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ BigDecimal °¡ ºÎÀÇ °æ¿ì´Â -1, Á¦·ÎÀÇ °æ¿ì´Â 0, Á¤ÀÇ °æ¿ì´Â 1

scale

public int scale()
ÀÌ BigDecimal ÀÇ ¡¸½ºÄÉÀÏ¡¹À» µ¹·ÁÁÝ´Ï´Ù. ½ºÄÉÀÏÀ̶õ, ¼Ò¼öÁ¡ ÀÌÇÏÀÇ ÀÚ¸®¼öÀÔ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ BigDecimal ÀÇ ½ºÄÉÀÏ

unscaledValue

public BigInteger  unscaledValue()
°ªÀÌ ÀÌ BigDecimal ÀÇ ¡¸½ºÄÉÀÏ ¾øÀ½ÀÇ °ª¡¹ÀÎ BigDecimal ¸¦ µ¹·ÁÁÝ´Ï´Ù ((this * 10this.scale()) ¸¦ °è»êÇÑ´Ù).

¹Ýȯ°ª:
ÀÌ BigDecimal ÀÇ ½ºÄÉÀÏ ¾øÀ½ÀÇ °ª
µµÀÔµÈ ¹öÁ¯:
1.2

setScale

public BigDecimal  setScale(int scale,
                           int roundingMode)
½ºÄÉÀÏÀÌ ÁöÁ¤µÈ °ªÀ̸ç, ÇÑÆí ½ºÄÉÀÏ ¾øÀ½ÀÇ °ªÀÌ, ÀÌ BigDecimal ÀÇ ½ºÄÉÀÏ ¾øÀ½ÀÇ °ª°ú ÃÑüġ¸¦ À¯ÁöÇÒ ¼ö ÀÖ´Â Àû´çÇÑ 10 ÀÇ ´©½ÂÀÇ Àû ¶Ç´Â »ó¿¡ ÀÇÇØ °áÁ¤µÇ´Â BigDecimal ¸¦ µ¹·ÁÁÝ´Ï´Ù. ½ºÄÉÀÏÀÌ ¿¬»êÀ¸·Î ÁÙ¿©Áö´Â °æ¿ì, ½ºÄÉÀÏ ¾øÀ½ÀÇ °ªÀº (°Å´Â °ÍÀÌ ¾Æ´Ï¶ó) ³ª´­ Çʿ䰡 ÀÖ¾î, °ªÀÌ ¹Ù²ð °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì, ÁöÁ¤ÇÑ µÕ±Ù ¸ðµå°¡ Á¦»ê¿¡ Àû¿ëµË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
scale - µ¹·ÁÁÖ¾îÁö´Â BigDecimal ÀÇ °ªÀÇ ½ºÄÉÀÏ
roundingMode - Àû¿ëÇÏ´Â µÕ±Ù ¸ðµå
¹Ýȯ°ª:
½ºÄÉÀÏÀÌ ÁöÁ¤µÈ °ªÀ̸ç, ÇÑÆí ½ºÄÉÀÏ ¾øÀ½ÀÇ °ªÀÌ, ÀÌ BigDecimal ÀÇ ½ºÄÉÀÏ ¾øÀ½ÀÇ °ª°ú ÃÑüġ¸¦ À¯ÁöÇÒ ¼ö ÀÖ´Â Àû´çÇÑ 10 ÀÇ ´©½ÂÀÇ Àû ¶Ç´Â »ó¿¡ ÀÇÇØ °áÁ¤µÇ´Â BigDecimal
¿¹¿Ü:
ArithmeticException - ½ºÄÉÀÏÀÌ ºÎÀ̵簡, ȤÀº roundingMode==ROUND_UNNECESSARY ·Î, ÁöÁ¤µÈ ½½Ä¶¸µ ¿¬»êÀ¸·Î µÕ±ÙÀÌ ÇÊ¿äÇÑ °æ¿ì
IllegalArgumentException - roundingMode °¡ À¯È¿ÇÑ µÕ±Ù ¸ðµå¸¦ ³ªÅ¸³»Áö ¾Ê´Â °æ¿ì
°ü·Ã Ç׸ñ:
ROUND_UP , ROUND_DOWN , ROUND_CEILING , ROUND_FLOOR , ROUND_HALF_UP , ROUND_HALF_DOWN , ROUND_HALF_EVEN , ROUND_UNNECESSARY

setScale

public BigDecimal  setScale(int scale)
½ºÄÉÀÏÀÌ ÁöÁ¤µÈ °ªÀ̸ç, °ªÀÌ ÀÌ BigDecimal °ú µ¿ÀÏÇÑ BigDecimal ¸¦ µ¹·ÁÁÝ´Ï´Ù. À̰ÍÀÌ °¡´ÉÇÏÁö ¾ÊÀº °æ¿ì´Â ArithmeticException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â ½ºÄÉÀÏÀ» ´Ã¸®´Âµ¥ ÀÚÁÖ(Àß) »ç¿ëµÇ¾î ±× °æ¿ì¿¡´Â ÁöÁ¤µÈ ½ºÄÉÀϰú ¿Ã¹Ù¸¥ °ªÀÇ BigDecimal ÀÇ Á¸Àç°¡ ÇÁ·ÎÅØ¼ÇµË´Ï´Ù. Á¤¹Ðµµ¸¦ ÀÒÀ»¸®°¡ ¾ø´Â À罽͏µÀ» ½Ç½ÃÇϴµ¥ ÃæºÐÇÑ 0 ÀÌ BigDecimal ÀÇ ¼Ò¼öºÎ (±× Á¤¼öÄ¡¿¡ À־ÀÇ 10 ÀÇ Àμö)ÀÇ ¸¶Áö¸·¿¡ ÀÖ´Â °ÍÀ» È£ÃâÃøÀÌ ÀνÄÇϰí ÀÖ´Â °æ¿ì¿¡´Â ½ºÄÉÀÏÀ» ÁÙÀ̴µ¥ »ç¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

ÀÌ ¸Þ¼Òµå´Â setScale ÀÇ 2 °³ÀÇ Àμö¸¦ »ç¿ëÇÏ´Â ¹öÁ¯°ú °°Àº °á°ú¸¦ µ¹·ÁÁÝ´Ï´Ù¸¸, µÕ±ÙÀ» ÁöÁ¤ÇÒ Çʿ䰡 ¾ø´Â °æ¿ì¿¡, È£ÃâÃøÀº ÁöÁ¤ÇÏ´Â ¼ö°í¸¦ »ý·«ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
scale - µ¹·ÁÁÖ¾îÁö´Â BigDecimal ÀÇ °ªÀÇ ½ºÄÉÀÏ
¹Ýȯ°ª:
½ºÄÉÀÏÀÌ ÁöÁ¤µÈ °ªÀ̸ç, ÇÑÆí ½ºÄÉÀÏ ¾øÀ½ÀÇ °ªÀÌ, ÀÌ BigDecimal ÀÇ ½ºÄÉÀÏ ¾øÀ½ÀÇ °ª°ú ÃÑüġ¸¦ À¯ÁöÇÒ ¼ö ÀÖ´Â Àû´çÇÑ 10 ÀÇ ´©½ÂÀÇ Àû ¶Ç´Â »ó¿¡ ÀÇÇØ °áÁ¤µÇ´Â BigDecimal
¿¹¿Ü:
ArithmeticException - ½ºÄÉÀÏÀÌ ºÎÀ̵簡, ȤÀº ÁöÁ¤ÇÑ ½ºÄÉÀÏ ¿¬»êÀ¸·Î µÕ±ÙÀÌ ÇÊ¿äÇÑ °æ¿ì
°ü·Ã Ç׸ñ:
setScale(int, int)

movePointLeft

public BigDecimal  movePointLeft(int n)
¼Ò¼öÁ¡À» n ÇüÁ¿¡ À̵¿ÇØ À̰Ϳ¡ µ¿ÀÏÇÑ BigDecimal ¸¦ µ¹·ÁÁÝ´Ï´Ù. n °¡ ºÎ°¡ ¾Æ´Ñ °æ¿ì´Â ´ÜÁö ½ºÄÉÀÏ¿¡ n ¸¦ ´õÇÕ´Ï´Ù. n °¡ ºÎÀÇ °æ¿ì´Â movePointRight(-n)¿¡ µ¿ÀÏÇØÁý´Ï´Ù (µ¹·ÁÁÖ¾îÁö´Â BigDecimal ÀÇ °ªÀº (this * 10-n), ½ºÄÉÀÏÀº max(this.scale() +n, 0)).

ÆÄ¶ó¹ÌÅÍ:
n - ¼Ò¼öÁ¡À» ¿ÞÂÊ¿¡ À̵¿ÇÏ´Â ÀÚ¸®¼ö
¹Ýȯ°ª:
¼Ò¼öÁ¡À» n ÇüÁ¿¡ À̵¿ÇÑ, À̰Ϳ¡ µ¿ÀÏÇÑ BigDecimal

movePointRight

public BigDecimal  movePointRight(int n)
¼Ò¼öÁ¡ÀÌ ÁöÁ¤µÈ ÀÚ¸®¼ö¸¸ ¿ìÃøÇâ¿¡ À̵¿½Ãŵ´Ï´Ù. ÀÌ BigDecimal ÀÇ ½ºÄÉÀÏÀÌ n ÀÌ»óÀÇ °æ¿ì´Â ´ÜÁö ½ºÄÉÀϷκÎÅÍ n ¸¦ »®´Ï´Ù. ±× ÀÌ¿ÜÀÇ °æ¿ì´Â ½ºÄÉÀÏÀ» 0 À¸·Î ¼³Á¤ÇØ, ±× Á¤¼öÄ¡¿¡ 10(n - this.scale) À» °öÇÕ´Ï´Ù. n °¡ ºÎÀÇ °æ¿ì´Â movePointLeft(-n) ¿¡ µ¿ÀÏÇØÁý´Ï´Ù (µ¹·ÁÁÖ¾îÁö´Â BigDecimal ÀÇ °ªÀº (this * 10n), ½ºÄÉÀÏÀº max(this.scale() -n, 0)).

ÆÄ¶ó¹ÌÅÍ:
n - ¼Ò¼öÁ¡À» ¿À¸¥ÂÊ¿¡ À̵¿ÇÏ´Â ÀÚ¸®¼ö
¹Ýȯ°ª:
¼Ò¼öÁ¡À» n Çü¿ì¿¡ À̵¿ÇÑ, À̰Ϳ¡ µ¿ÀÏÇÑ BigDecimal

compareTo

public int compareTo(BigDecimal  val)
ÀÌ BigDecimal °ú ÁöÁ¤µÈ BigDecimal ¸¦ ºñ±³ÇÕ´Ï´Ù. °ªÀº µ¿ÀÏÇÏÁö¸¸ ½ºÄÉÀÏÀÌ ´Ù¸¥ 2 °³ÀÇ BigDecimal (¿¹¸¦ µé¾î, 2.0 À¸·Î 2.00)´Â µ¿ÀÏÇÏ´Ù°í º¸¿©Áý´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â 6 °³ÀÇ boolean ÇüÀÇ ºñ±³ ¿¬»êÀÚ (<,==, >, >=,! =, <=)ÀÇ °¢°¢ ´ëÇÏ´Â °³°³ÀÇ ¸Þ¼Òµå ´ë½Å¿¡ Á¦°øµË´Ï´Ù. ÀÌ·¯ÇÑ ºñ±³¸¦ ½Ç½ÃÇÏ·Á¸é (x.compareTo(y) <op> 0) ¶ó°í ÇÏ´Â Æí¼ºÀ» ÃßõÇÕ´Ï´Ù. ÀÌ °æ¿ì, <op> ¿¡´Â 6 °³ÀÇ ¿¬»êÀÚ °¡¿îµ¥ 1 °³°¡ µé¾î°©´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
val - ÀÌ BigDecimal ¿Í ºñ±³ÇÏ´Â BigDecimal
¹Ýȯ°ª:
ÀÌ BigDecimal ÀÇ °ªÀÌ val º¸´Ù ÀÛÀº °æ¿ì´Â -1, µ¿ÀÏÇÑ °æ¿ì´Â 0, Å« °æ¿ì´Â 1

compareTo

public int compareTo(Object  o)
ÀÌ BigDecimal ¿Í ÁöÁ¤µÈ Object ¸¦ ºñ±³ÇÕ´Ï´Ù. Object °¡ BigDecimal ÀÇ °æ¿ì, ÀÌ ¸Þ¼Òµå´Â compareTo(java.math.BigDecimal) ¿Í °°ÀÌ µ¿ÀÛÇØ, ±× ÀÌ¿ÜÀÇ °æ¿ì´Â ClassCastException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù (BigDecimal Àº ´Ù¸¥ BigDecimal ·Î ¹Û¿¡ ºñ±³ÇÒ ¼ö ¾ø±â ¶§¹®¿¡).

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Comparable ³»ÀÇ compareTo
ÆÄ¶ó¹ÌÅÍ:
o - ÀÌ BigDecimal ¿Í ºñ±³ÇÏ´Â Object
¹Ýȯ°ª:
ÀÌ BigDecimal ÀÇ °ªÀÌ o º¸´Ù ÀÛÀº °æ¿ì´Â ºÎÀÇ ¼ö, µ¿ÀÏÇÑ °æ¿ì´Â 0, Å« °æ¿ì´Â Á¤ÀÇ ¼ö. o ´Â BigDecimal °¡ ¾Æ´Ï¸é ¾ÈµÈ´Ù
¿¹¿Ü:
ClassCastException - o °¡ BigDecimal °¡ ¾Æ´Ñ °æ¿ì
µµÀÔµÈ ¹öÁ¯:
1.2
°ü·Ã Ç׸ñ:
compareTo(java.math.BigDecimal) , Comparable

equals

public boolean equals(Object  x)
ÀÌ BigDecimal ¿Í ÁöÁ¤µÈ Object °¡ µ¿ÀÏÇÑÁö ¾î¶²Áö¸¦ ºñ±³ÇÕ´Ï´Ù. compareTo(java.math.BigDecimal) ¿Í ´Þ¶ó, ÀÌ ¸Þ¼Òµå´Â 2 °³ÀÇ BigDecimal °¡ °ªµµ ½ºÄÉÀϵµ °°Àº °æ¿ì¿¡¸¸ µ¿ÀÏÇÏ´Ù°í º¾´Ï´Ù (µû¶ó, ÀÌ ¸Þ¼Òµå¿¡¼­´Â 2.0 À¸·Î 2.00 Àº µ¿ÀÏÇÏÁö ¾Ê´Ù).

¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º Object ³»ÀÇ equals
ÆÄ¶ó¹ÌÅÍ:
x - ÀÌ BigDecimal ¿Í ºñ±³ÇÏ´Â Object
¹Ýȯ°ª:
ÁöÁ¤ÇÑ Object °¡ ÀÌ BigDecimal °ú °ªµµ ½ºÄÉÀϵµ µ¿ÀÏÇÑ BigDecimal ÀÎ °æ¿ì¿¡¸¸ true
°ü·Ã Ç׸ñ:
compareTo(java.math.BigDecimal)

min

public BigDecimal  min(BigDecimal  val)
ÀÌ BigDecimal ¿Í val ÀÇ ÃÖ¼ÒÄ¡¸¦ µ¹·ÁÁÝ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
val - ÃÖ¼ÒÄ¡¸¦ °è»êÇÏ´Â °ª
¹Ýȯ°ª:
ÀÌ BigDecimal °ú val °¡¿îµ¥·Î ÀÛÀº (ºÐ)ÆíÀÇ °ªÀ» °¡Áö´Â BigDecimal. compareTo(java.math.BigDecimal) ¸Þ¼Òµå·Î Á¤Àǵǰí ÀÖ´Â ºñ±³ ¹æ¹ýÀ¸·Î °ªÀÌ µ¿ÀÏÇÑ °æ¿ì´Â ¾î´À ÂÊÀÎÁö°¡°¡ µ¹·ÁÁÖ¾îÁö´Â
°ü·Ã Ç׸ñ:
compareTo(java.math.BigDecimal)

max

public BigDecimal  max(BigDecimal  val)
ÀÌ BigDecimal ¿Í val ÀÇ ÃÖ´ëÄ¡¸¦ µ¹·ÁÁÝ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
val - ÃÖ´ëÄ¡¸¦ °è»êÇÏ´Â °ª
¹Ýȯ°ª:
ÀÌ BigDecimal °ú val °¡¿îµ¥·Î Å« (ºÐ)ÆíÀÇ °ªÀ» °¡Áö´Â BigDecimal. compareTo(java.math.BigDecimal) ¸Þ¼Òµå·Î Á¤Àǵǰí ÀÖ´Â ºñ±³ ¹æ¹ýÀ¸·Î °ªÀÌ µ¿ÀÏÇÑ °æ¿ì´Â ¾î´À ÂÊÀÎÁö°¡°¡ µ¹·ÁÁÖ¾îÁö´Â
°ü·Ã Ç׸ñ:
compareTo(java.math.BigDecimal)

hashCode

public int hashCode()
ÀÌ BigDecimal ÀÇ ÇØ½Ã Äڵ带 µ¹·ÁÁÝ´Ï´Ù. °ªÀÌ µ¿ÀÏÇÏÁö¸¸ ½ºÄÉÀÏÀÌ ´Ù¸¥ 2 °³ÀÇ BigDecimal (¿¹¸¦ µé¾î, 2.0 À¸·Î 2.00)´Â Åë»óÀº ÇØ½Ã Äڵ尡 ´Ù¸¨´Ï´Ù.

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

toString

public String  toString()
ÀÌ BigDecimal ÀÇ String Ç¥ÇöÀ» µ¹·ÁÁÝ´Ï´Ù. Character.forDigit(int, int) ¿¡ ÀÇÇÑ ¼ýÀڷκÎÅÍ Ä³¸¯ÅÍ¿¡ÀÇ ¸ÅÇÎÀÌ »ç¿ëµË´Ï´Ù. ¼±ÇàÇÏ´Â ¸¶À̳ʽº ºÎÈ£´Â ºÎÈ£¸¦ ³ªÅ¸³»±â À§Çؼ­(¶§¹®¿¡) »ç¿ëµÇ¾î ¼Ò¼öÁ¡ ÀÌÇÏÀÇ ÀÚ¸®¼ö´Â ½ºÄÉÀÏÀ» ³ªÅ¸³»±â À§Çؼ­(¶§¹®¿¡) »ç¿ëµË´Ï´Ù (ÀÌ Ç¥ÇöÀº String ¸¦ Àμö·Î ÇÏ´Â constructor °ú ȣȯ¼ºÀÌ ÀÖ´Ù).

¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º Object ³»ÀÇ toString
¹Ýȯ°ª:
ÀÌ BigDecimal ÀÇ String Ç¥Çö
°ü·Ã Ç׸ñ:
Character.forDigit(int, int) , BigDecimal(java.lang.String)

toBigInteger

public BigInteger  toBigInteger()
ÀÌ BigDecimal ¸¦ BigInteger ·Î º¯È¯ÇÕ´Ï´Ù. À̰ÍÀº ¡¸Java ¾ð¾î »ç¾ç¡¹À¸·Î Á¤Àǵǰí Àִ ǥÁØÀÇ ¡¸³×·Î¿ì ¿ø½ÃÀû º¯È¯¡¹ÀÔ´Ï´Ù. ÀÌ BigDecimal ÀÇ ¼Ò¼öºÎ´Â ¸ðµÎ ÆÄ±âµË´Ï´Ù.

¹Ýȯ°ª:
BigInteger ¿¡ º¯È¯µÈ ÀÌ BigDecimal

intValue

public int intValue()
ÀÌ BigDecimal ¸¦ int ·Î º¯È¯ÇÕ´Ï´Ù. À̰ÍÀº ¡¸Java ¾ð¾î »ç¾ç¡¹À¸·Î Á¤Àǵǰí Àִ ǥÁØÀÇ ¡¸³×·Î¿ì ¿ø½ÃÀû º¯È¯¡¹ÀÔ´Ï´Ù. ÀÌ BigDecimal ÀÇ ¼Ò¼öºÎ´Â ¸ðµÎ ÆÄ±âµÇ¾î °á°úÀÇ BigInteger °¡ ³Ê¹« Ä¿ int ¿¡ ÀûÇÕÇÏÁö ¾Ê´Â °æ¿ì´Â ÇÏÀ§ÀÇ 32 ºñÆ®¸¸ÀÌ µ¹·ÁÁÖ¾îÁý´Ï´Ù.

Á¤ÀÇ:
Ŭ·¡½º Number ³»ÀÇ intValue
¹Ýȯ°ª:
int ¿¡ º¯È¯µÈ ÀÌ BigDecimal

longValue

public long longValue()
ÀÌ BigDecimal ¸¦ long ·Î º¯È¯ÇÕ´Ï´Ù. À̰ÍÀº ¡¸Java ¾ð¾î »ç¾ç¡¹À¸·Î Á¤Àǵǰí Àִ ǥÁØÀÇ ¡¸³×·Î¿ì ¿ø½ÃÀû º¯È¯¡¹ÀÔ´Ï´Ù. ÀÌ BigDecimal ÀÇ ¼Ò¼öºÎ´Â ¸ðµÎ ÆÄ±âµÇ¾î °á°úÀÇ BigInteger °¡ ³Ê¹« Ä¿ long ¿¡ ÀûÇÕÇÏÁö ¾Ê´Â °æ¿ì´Â ÇÏÀ§ÀÇ 64 ºñÆ®¸¸ÀÌ µ¹·ÁÁÖ¾îÁý´Ï´Ù.

Á¤ÀÇ:
Ŭ·¡½º Number ³»ÀÇ longValue
¹Ýȯ°ª:
int ¿¡ º¯È¯µÈ ÀÌ BigDecimal

floatValue

public float floatValue()
ÀÌ BigDecimal ¸¦ float ·Î º¯È¯ÇÕ´Ï´Ù. À̰ÍÀº ¡¸Java ¾ð¾î »ç¾ç¡¹À¸·Î Á¤Àǵǰí ÀÖ´Â double ·ÎºÎÅÍ float ¿¡ÀÇ ¡¸³×·Î¿ì ¿ø½ÃÀû º¯È¯¡¹¿¡ À¯»çÇϰí ÀÖ½À´Ï´Ù. ÀÌ BigDecimal ÀÇ Àý´ëÄ¡°¡ ³Ê¹« Ä¿ float ·Î¼­ ³ªÅ¸³¾ ¼ö°¡ ¾ø´Â °æ¿ì´Â Float.NEGATIVE_INFINITY ¶Ç´Â Float.POSITIVE_INFINITY ¿¡ º¯È¯µË´Ï´Ù.

Á¤ÀÇ:
Ŭ·¡½º Number ³»ÀÇ floatValue
¹Ýȯ°ª:
float ¿¡ º¯È¯µÈ ÀÌ BigDecimal

doubleValue

public double doubleValue()
ÀÌ BigDecimal ¸¦ double ·Î º¯È¯ÇÕ´Ï´Ù. À̰ÍÀº ¡¸Java ¾ð¾î »ç¾ç¡¹À¸·Î Á¤Àǵǰí ÀÖ´Â double ·ÎºÎÅÍ float ¿¡ÀÇ ¡¸³×·Î¿ì ¿ø½ÃÀû º¯È¯¡¹¿¡ À¯»çÇϰí ÀÖ½À´Ï´Ù. ÀÌ BigDecimal ÀÇ Àý´ëÄ¡°¡ ³Ê¹« Ä¿ double ·Î¼­ ³ªÅ¸³¾ ¼ö°¡ ¾ø´Â °æ¿ì´Â Double.NEGATIVE_INFINITY ¶Ç´Â Double.POSITIVE_INFINITY ¿¡ º¯È¯µË´Ï´Ù.

Á¤ÀÇ:
Ŭ·¡½º Number ³»ÀÇ doubleValue
¹Ýȯ°ª:
double ¿¡ º¯È¯µÈ ÀÌ BigDecimal

JavaTM 2
Platform
Std.  Ed.  v1. 4.0

¹ö±×ÀÇ º¸°í¿Í ±â´ÉÀÇ ¸®Äù½ºÆ®
ÀÌ¿ÜÀÇ API ·¹ÆÛ·±½º ¹× °³¹ßÀÚ¿ë ¹®¼­¿¡ ´ëÇØ¼­´Â Java 2 SDK SE °³¹ßÀÚ¿ë ¹®¼­¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä. °³¹ßÀÚÀü¿ëÀÇ »ó¼¼ÇÑ ÇØ¼³, °³³äÀÇ °³¿ä, ¿ë¾îÀÇ Á¤ÀÇ, ¹ö±×ÀÇ È¸ÇÇÃ¥, ¹× ÄÚµå ½Ç·Ê°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù.

Java, Java 2 D, ¹× JDBC ´Â ¹Ì±¹ ¹× ±× ¿ÜÀÇ ³ª¶ó¿¡ À־ÀÇ ¹Ì±¹ Sun Microsystems, Inc. ÀÇ »óÇ¥ ȤÀº µî·Ï»óÇ¥ÀÔ´Ï´Ù.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.