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 つの「丸めモード」が用意されています。

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 と矛盾するからです。詳細は、ComparableSortedMap または SortedSet を参照してください。

このクラスのメソッドおよびコンストラクタはすべて、入力パラーメータに対して 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') という文字から構成され、1 以上の 10 進数字が続きます。指数値は -Integer.MAX_VALUE (Integer.MIN_VALUE+1) から Integer.MAX_VALUE の間に収まっている必要があります。

つまり、このコンストラクタが受け入れる文字列は次の文法によって記述されます。

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 のスケールは、小数点の桁数または文字列に小数点がない場合はゼロとなり、指数を調整します。文字列に指数がある場合、スケールから指数が減算されます。その結果スケールが負となる場合、返される BigDecimal のスケールはゼロとなり、スケールなしの値は 10 の累乗の積となります。この結果、BigDecimal は有効数字 × 10指数 と等しくなります。(今後、負のスケールを認めるようにこの仕様が修正され、スケールのゼロ化およびスケールなしの値の調整は削除される予定です。)

文字型から数値型へのマッピングは Character.digit(char, int) で提供され、基数 10 への変換に設定されています。String には、不適切な文字 (空白など) を含めることはできません。

注: ほかの float および double の NaN、および ±Infinity の値では、このコンストラクタは Float.toString(float) および Double.toString(double).で返される値と互換性があります。この方法は、float または double を BigDecimal に変換する良い方法です。その理由は、BigDecimal(double) コンストラクタの予測ができなくても影響されないからです。

注: リリース 1.3 以降では、先頭のプラス記号および末尾の指数を任意で付けることができるようになりました。

パラメータ:
val - BigDecimal の String 表現
例外:
NumberFormatException - val は BigDecimal の表現としては無効である

BigDecimal

public BigDecimal(double val)
double を BigDecimal に変換します。BigDecimal のスケールは、(10scale * val) が整数である最小の値です。

注: このコンストラクタの結果は予想外である可能性があります。new BigDecimal(.1) は正確に .1 と等しいと思われるかもしれませんが、実際には .1000000000000000055511151231257827021181583404541015625 となります。これは .1 を double (または有限長 2 進小数) として正確に表現できないためです。したがって、コンストラクタに渡されている long 値は正確に .1 と等しいわけではありません。

一方、String を引数とするコンストラクタは予測可能です。new BigDecimal(".1") は、「正確に」 .1 と等しくなります。そのため、通常は、double を引数とするコンストラクタの代わりに String を引数とするコンストラクタを使用することをお勧めします。

パラメータ:
val - BigDecimal に変換する double 値
例外:
NumberFormatException - val は、Double.NEGATIVE_INFINITYDouble.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 を引数とするコンストラクタの代わりに提供されます。

パラメータ:
unscaledVal - BigDecimal のスケールなしの値
scale - BigDecimal のスケール
戻り値:
値が (unscaledVal/10scale) の BigDecimal

valueOf

public static BigDecimal valueOf(long val)
long 値をスケールが 0 の BigDecimal に変換します。この static メソッドは、よく使われる BigDecimal を再利用できるようにするために、long を引数とするコンストラクタの代わりに提供されます。

パラメータ:
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_UNNECESSARYthis.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 は等しくない)。

オーバーライド:
クラス 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) は、通常はハッシュコードが異なります。

オーバーライド:
クラス Object 内の hashCode
戻り値:
この BigDecimal のハッシュコード
関連項目:
Object.equals(java.lang.Object), Hashtable

toString

public String toString()
この BigDecimal の String 表現を返します。Character.forDigit(int, int) による数字から文字へのマッピングが使用されます。先行するマイナス符号は符号を示すために使用され、小数点以下の桁数はスケールを示すために使用されます (この表現は String を引数とするコンストラクタと互換性がある)。

オーバーライド:
クラス 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 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.