19.BigDecimal
 BigIntegerクラスはNumberクラスのサブクラスで、任意精度の数値(ほとんどの実数)が扱えるクラス。

import java.math.BigDecimal

メンバー変数

static
BigDecimal

ROUND_UP
      divideメソッドで用いられる丸め込みのモードの一種。
      0から離れるように丸めるモードで、すなわち絶対値が減らない。

static
BigDecimal

ROUND_DOWN
      divideメソッドで用いられる丸め込みのモードの一種。
      0に近づくように丸めるモードで、すなわち絶対値が増えない。
static BigDecimal ROUND_CEILING
      divideメソッドで用いられる丸め込みのモードの一種。
      正の無限大に近づくように丸め込むモード。
static
BigDecimal
ROUND_FLOOR
      divideメソッドで用いられる丸め込みのモードの一種。
      負の無限大に近づくように丸め込むモード。
static
BigDecimal
ROUND_HALF_UP
      divideメソッドで用いられる丸め込みのモードの一種。
      「もっとも近い数字」に丸めるモードです。ただし、両隣りの数字が等距離の場合は切り上げる。
static
BigDecimal
ROUND_HALF_DOWN
      divideメソッドで用いられる丸め込みのモードの一種。
      「もっとも近い数字」に丸めるモード。ただし、両隣りの数字が等距離の場合は切り捨てる。
static
BigDecimal
ROUND_HALF_EVEN
      divideメソッドで用いられる丸め込みのモードの一種。
      「もっとも近い数字」に丸めるモードです。ただし、両隣りの数字が等距離の場合は偶数側に丸める。
static
BigDecimal
ROUND_UNNECESSARY
      divideメソッドで用いられる丸め込みのモードの一種。
      要求される演算の結果が正確であり、丸めが必要でないことを表す丸めモード。この丸めモードが結果が正確でない演算で指定される場合は、ArithmeticException がスローされる。
コンストラクタ
BigDecimal(BigInteger val)
      BigIntegerをBigDecimalに変換。
BigDecimal(BigInteger val, int scale)
      val / 10scaleのBigDecimalを作る。
BigDecimal(double val)
      valをBigDecimalに変換。
BigDecimal(String val)
      "+150.32"、"-150.32"や"-1.0002e12"、"-1.0002E12"のように文字列表現をBigDecimalに変換。
      表現型が不正な場合はNumberFormatExceptionが投げられる。
 
メソッド
static
BigDecimal
valueOf(long val)
      valをスケール0のBigDecimalに変換する。
static
BigDecimal
valueOf(long val)
      (val / 10scale)のBigDecimalに変換する。
BigDecimal add(BigDecimal val)
      自分とvalの値を加えたBigIntegerを返す。
BigDecimal subtract(BigDecimal val)
      自分からvalを引いたBigIntegerを返す。
BigDecimal negative()
      -thisを返す。
BigDecimal multiply(BigDecimal val)
      this * valを返す。
BigDecimal divide(BigDecimal val, int roundingMode)
      this / valを返す。2番目の引数には丸め込みモードを指定する。
      valが0の場合はArithmeticExceptionが投げられる。
      丸め込みで例外が出た場合は、ArithmeticExceptionもしくはIllegalArgumentExceptionが投げられる。
BigDecimal divide(BigDecimal val, int scale, int roundingMode)
      this / valを返す。
      2番目の引数に答えのスケールを指定する。
      3番目の引数には丸め込みモードを指定する。
      valが0の場合はArithmeticExceptionが投げられる。
      丸め込みで例外が出た場合は、ArithmeticExceptionもしくはIllegalArgumentExceptionが投げられる。
BigDecimal abs()
      絶対値を返す。
BigDecimal movePointLeft(int n)
      小数点をn桁左に移動します。nが負数の場合は右に移動する。
      (this * 10-n)と同じになる。
BigDecimal movePointRight(int n)
      小数点をn桁右に移動する。nが負数の場合は左に移動する。
      (this * 10n)と同じになる。
int scale()
      スケール(小数点以下の桁数:実際の数値の桁数ではなく、精度を指す。)を返す。
BigDecimal setScale(int scale, int roundingMode)
      スケール((小数点以下の桁数:実際の数値の桁数ではなく、精度を指す。)を設定する。
      丸め込みが必要な場合は、メンバー変数の丸め込みモードを指定する。
      計算結果により、ArithmeticExceptionもしくはIllegalArgumentExceptionが投げられる。
BigDecimal setScale(int scale)
      スケール((小数点以下の桁数:実際の数値の桁数ではなく、精度を指する。)を設定する。
      丸め込みが不要な場合はこちらを使う。
      計算結果により、ArithmeticExceptionが投げられる。
boolean equals(Object o)
      oがBigDecimalクラスで、thisと同じ値である場合にtrueが返される。
int compareTo(BigDecimal val)
      valと比較をし、this<valの場合は-1、this=valの場合は0、this>valの場合は+1が返される。
BigDecimal max(BigDecimal val)
      thisとvalの大きい方が返される。
BigDecimal min(BigDecimal val)
      thisとvalの小さい方が返される。
double doubleValue()
      double型に変換する。絶対値が大きくてdouble型に変換できない場合は、正の無限大Double.POSITIVE_INFINITYもしくは、負の無限大Double.NEGATIVE_INFINITYが返される。
float floatValue()
      float型に変換する。絶対値が大きくてfloat型に変換できない場合は、正の無限大Float.POSITIVE_INFINITYもしくは、負の無限大Float.NEGATIVE_INFINITYが返される。
int intValue()
      整数部をint型に変換します。絶対値が大きすぎる場合は下位32ビットのみが保存される。
long longValue()
      整数部をlong型に変換する。絶対値が大きすぎる場合は下位64ビットのみが保存される。
BigInteger toBigInteger()
      整数部をBigInteger型に変換する。
String toString()
      このBigIntegerを10進数で文字列表現に変換する。