BigDecimal クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
BigDecimal クラスは、変更できない任意の有効桁数の 10 進数を実装します。
[Android.Runtime.Register("android/icu/math/BigDecimal", ApiSince=24, DoNotGenerateAcw=true)]
public class BigDecimal : Java.Lang.Number, IDisposable, Java.Lang.IComparable
[<Android.Runtime.Register("android/icu/math/BigDecimal", ApiSince=24, DoNotGenerateAcw=true)>]
type BigDecimal = class
inherit Number
interface ISerializable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface IComparable
- 継承
- 属性
- 実装
注釈
BigDecimal クラスは、変更できない任意の有効桁数の 10 進数を実装します。
BigDecimal クラスのメソッドは、固定および浮動小数点演算、比較、書式変換、ハッシュ処理の操作を提供します。
数値は 10 進数であるため、BigDecimal オブジェクトのインスタンスとそのString表現の間には正確な対応関係があります。BigDecimal クラスは、String オブジェクトと文字配列 (char[]) オブジェクトとの間で直接変換を行うだけでなく、Javaプリミティブ型 (正確ではない可能性があります) とBigIntegerとの間の変換も提供します。
このドキュメントのコンストラクターとメソッドの説明では、 BigDecimal 番号オブジェクトの値は、オブジェクトに対して toString() メソッドを呼び出した結果として示されています。 10 進数の内部表現は定義も公開もされず、操作の結果に影響を与えられません。
このクラスによって提供される浮動小数点演算は ANSI X3.274-1996 標準で定義されており、http://www2.hursley.ibm.com/decimal<br>[この URL は変更されます]に関する記事にも記載されています<h3>Operator メソッド</h3>
BigDecimal数値に対する操作は、操作のコンテキスト (有効桁数やその他の情報) を提供するMathContext オブジェクトによって制御されます。
MathContext パラメーターを受け取ることができるメソッドは、BigDecimal オブジェクトの標準算術演算子を実装し、演算子メソッドと呼ばれます。 定数 MathContext#DEFAULT (digits=9, form=SCIENTIFIC, lostDigits=false, roundingMode=ROUND_HALF_UP) によって提供される既定の設定では、9 桁の有効桁数に対する汎用浮動小数点演算が実行されます。
MathContext パラメーターをnullすることはできません。
各演算子メソッドには、 MathContext パラメーターを受け取らないバージョンも用意されています。 各メソッドのこのバージョンでは、使用されるコンテキスト設定がdigits=0, form=PLAIN, lostDigits=false, roundingMode=ROUND_HALF_UPされます。これらの設定は、Java 1.1 および Java 1.2 の元の BigDecimal クラスに対して定義されているように、無制限の精度で固定小数点演算を実行します。
モナディック演算子の場合、省略可能な MathContext パラメーターのみが存在します。操作は現在のオブジェクトに対して動作します。
dyadic 演算子の場合、 BigDecimal パラメーターは常に存在します。 nullすることはできません。 この演算は、現在のオブジェクトが左側のオペランドであり、 BigDecimal パラメーターが右側のオペランドである場合に機能します。
たとえば、BigDecimalとawardの名前で参照される 2 つのextra オブジェクトを追加すると、次のいずれかとして記述できます。
award.add(extra) <br>award.add(extra, MathContext.DEFAULT) <br>award.add(extra, acontext)
(ここで、acontextはMathContext オブジェクト)、適切なコンテキスト設定でBigDecimalとawardを追加した結果の値を持つextra オブジェクトを返します。
BigDecimal演算子メソッドを使用する場合、一連のルールによって結果の内容が定義されます (また、結果を文字列として表す方法を意味します)。 これらのルールは BigDecimal 算術ドキュメント (上記の URL を参照) で定義されていますが、要約すると、 <ul><li>Results は通常、最大有効桁数で計算されます。 たとえば、操作の MathContext パラメーターが MathContext.DEFAULT された場合、結果は 9 桁に丸められます。2 ~ 3 の除算では 0.66666667 になります。
<br> メソッドに適切な MathContext オブジェクトを指定することで、既定値の 9 桁の有効桁数を変更できます。 これにより、必要な数の数字 (必要に応じて数千) を使用して計算できます。 固定小数点 (拡大縮小) 算術演算は、 digits 設定 0 (または MathContext パラメーターを省略) を使用して示されます。
<br> 同様に、丸めに使用するアルゴリズムを既定の "クラシック" アルゴリズムから変更できます。
<li> 標準の算術演算 (つまり、 form の設定が PLAINでない場合) では、常に 0 の結果が 1 桁の '0' として表されます (つまり、符号、小数点、指数部はありません)。
<li> 標準算術の除算演算子と累乗演算子を除き、後続のゼロは保持されます (これは、バイナリ浮動小数点演算とほとんどの電子計算ツールとは対照的であり、結果の小数部の末尾のゼロに関する情報が失われます)。
<br> 次に例を示します。
new BigDecimal("2.40").add( new BigDecimal("2")) => "4.40" <br>new BigDecimal("2.40").subtract(new BigDecimal("2")) => "0.40" <br>new BigDecimal("2.40").multiply(new BigDecimal("2")) => "4.80" <br>new BigDecimal("2.40").divide( new BigDecimal("2"), def) => "1.2"
ここで、 => の右側の値は操作の結果であり、 Stringとして表され、 def (この例と次の例では) は MathContext.DEFAULT を参照します。 この末尾のゼロの保持は、ほとんどの計算 (財務計算を含む) に適しています。 必要に応じて、末尾のゼロを 1 で除算することで簡単に削除できます。
<li> 標準の算術演算では、指数形式は、その値と digits の現在の設定 (既定値は 9 桁) に応じて結果に使用されます。 小数点の前に必要な桁数が digits の設定を超えている場合、または数値の絶対値が 0.000001未満の場合、数値は指数表記で表されます。
new BigDecimal("1e+6").multiply(new BigDecimal("1e+6"), def)
結果として、1E+12ではなく1000000000000になります。
new BigDecimal("1").divide(new BigDecimal("3E+10"), def)
は、3.33333333E-11ではなく0.0000000000333333333になります。
指数表記 (科学または工学) の形式は、 form 設定によって決まります。
</ul>
このクラスのメソッドの名前は、Java 1.1 および Java 1.2 でjava.lang.Number、java.math.BigInteger、およびjava.math.BigDecimalによって確立された規則に従います。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
コンストラクター
| Name | 説明 |
|---|---|
| BigDecimal(BigDecimal) |
|
| BigDecimal(BigInteger, Int32) |
|
| BigDecimal(BigInteger) |
スケール 0 の |
| BigDecimal(Char[], Int32, Int32) |
文字の配列から |
| BigDecimal(Char[]) |
文字の配列から |
| BigDecimal(Double) |
|
| BigDecimal(Int32) |
|
| BigDecimal(Int64) |
|
| BigDecimal(IntPtr, JniHandleOwnership) |
|
| BigDecimal(String) |
|
フィールド
| Name | 説明 |
|---|---|
| RoundCeiling |
古い.
より正の数値に丸める丸めモード。 |
| RoundDown |
古い.
0 に向かって丸める丸めモード。 |
| RoundFloor |
古い.
より負の数に丸める丸めモード。 |
| RoundHalfDown |
古い.
等値が切り捨てられる最も近い近隣に丸める丸めモード。 |
| RoundHalfEven |
古い.
最も近い近隣に丸める丸めモード。等間隔の値は最も近い偶数の近隣に丸められます。 |
| RoundHalfUp |
古い.
等値が切り上げられた最も近い近隣に丸める丸めモード。 |
| RoundUnnecessary |
古い.
丸める必要がないことをアサートする丸めモード。 |
| RoundUp |
古い.
0 から丸める丸めモード。 |
プロパティ
| Name | 説明 |
|---|---|
| Class |
この |
| Handle |
基になる Android インスタンスへのハンドル。 (継承元 Object) |
| JniIdentityHashCode |
相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。 (継承元 Object) |
| JniManagedPeerState |
|
| JniPeerMembers |
|
| One |
|
| PeerReference |
このJava ピアの JNI オブジェクト参照を取得します。 (継承元 Object) |
| Ten |
|
| ThresholdClass |
|
| ThresholdType |
|
| Zero |
|
メソッド
| Name | 説明 |
|---|---|
| Abs() |
この |
| Abs(MathContext) |
この |
| Add(BigDecimal, MathContext) |
値が |
| Add(BigDecimal) |
固定小数点演算を使用して、値が |
| ByteValue() |
指定した数値の値を |
| ByteValueExact() |
この |
| Clone() |
このオブジェクトのコピーを作成して返します。 (継承元 Object) |
| CompareTo(BigDecimal, MathContext) |
この |
| CompareTo(BigDecimal) |
無制限の精度を使用して、この |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
|
| Dispose() |
このJava ピアによって保持されているリソースを解放します。 (継承元 Object) |
| Dispose(Boolean) |
このJava ピアによって保持されているリソースを解放します。 (継承元 Object) |
| DisposeUnlessReferenced() |
|
| Divide(BigDecimal, Int32, RoundOptions) |
固定小数点演算と特定のスケールと丸めモードを使用して、値が |
| Divide(BigDecimal, MathContext) |
値が |
| Divide(BigDecimal, RoundOptions) |
固定小数点演算と丸めモードを使用して、値が |
| Divide(BigDecimal) |
固定小数点演算を使用して、値が |
| DivideInteger(BigDecimal, MathContext) |
値が |
| DivideInteger(BigDecimal) |
|
| DoubleValue() |
この |
| Equals(Object) |
|
| Equals(Object) |
他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。 (継承元 Object) |
| FloatValue() |
この |
| Format(Int32, Int32, Int32, Int32, Int32, RoundOptions) |
レイアウト パラメーターによって変更され、指数表記が可能な、この |
| Format(Int32, Int32) |
レイアウト パラメーターによって変更された、この |
| GetHashCode() |
オブジェクトのハッシュ コード値を返します。 (継承元 Object) |
| IntValue() |
この |
| IntValueExact() |
この |
| JavaFinalize() |
古い.
オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。 (継承元 Object) |
| LongValue() |
この |
| LongValueExact() |
この |
| Max(BigDecimal, MathContext) |
値が最大 |
| Max(BigDecimal) |
値が |
| Min(BigDecimal, MathContext) |
|
| Min(BigDecimal) |
|
| MovePointLeft(Int32) |
小数点が指定した桁数だけ左に移動されたプレーンな |
| MovePointRight(Int32) |
小数点が指定した桁数だけ右に移動されたプレーン |
| Multiply(BigDecimal, MathContext) |
値が |
| Multiply(BigDecimal) |
固定小数点演算を使用して、値が |
| Negate() |
値が |
| Negate(MathContext) |
値が |
| Notify() |
このオブジェクトのモニターで待機している 1 つのスレッドを起動します。 (継承元 Object) |
| NotifyAll() |
このオブジェクトのモニターで待機しているすべてのスレッドを起動します。 (継承元 Object) |
| Plus() |
値が |
| Plus(MathContext) |
値が |
| Pow(BigDecimal, MathContext) |
値が |
| Pow(BigDecimal) |
固定小数点演算を使用して、値が |
| Remainder(BigDecimal, MathContext) |
値が |
| Remainder(BigDecimal) |
固定小数点演算を使用して、 |
| Scale() |
この |
| SetHandle(IntPtr, JniHandleOwnership) |
Handle プロパティを設定します。 (継承元 Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
|
| SetScale(Int32, RoundOptions) |
特定のスケールを持つプレーンな |
| SetScale(Int32) |
特定のスケールを持つプレーンな |
| ShortValue() |
指定した数値の値を |
| ShortValueExact() |
この |
| Signum() |
この |
| Subtract(BigDecimal, MathContext) |
値が |
| Subtract(BigDecimal) |
固定小数点演算を使用して、値が |
| ToArray<T>() |
このJava配列ラッパーからマネージド配列を作成します。 (継承元 Object) |
| ToBigDecimal() |
この |
| ToBigInteger() |
この |
| ToBigIntegerExact() |
この |
| ToCharArray() |
|
| ToString() |
オブジェクトの文字列形式を返します。 (継承元 Object) |
| UnregisterFromRuntime() |
相互運用ランタイムからこのJava ピアの登録を解除します。 (継承元 Object) |
| UnscaledValue() |
スケールを削除した後、数値を |
| ValueOf(Double) |
|
| ValueOf(Int64, Int32) |
特定のスケールを持つ |
| ValueOf(Int64) |
|
| Wait() |
現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。 (継承元 Object) |
| Wait(Int64, Int32) |
現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。 (継承元 Object) |
| Wait(Int64) |
現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。 (継承元 Object) |
明示的なインターフェイスの実装
| Name | 説明 |
|---|---|
| IComparable.CompareTo(Object) |
このオブジェクトを指定したオブジェクトと順序を比較します。 |
| IJavaPeerable.Disposed() |
|
| IJavaPeerable.Finalized() |
|
| IJavaPeerable.JniObjectReferenceControlBlock |
|
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
|
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
|
| IJavaPeerable.SetPeerReference(JniObjectReference) |
|
| IJavaPeerable.UnregisterFromRuntime() |
|
拡張メソッド
| Name | 説明 |
|---|---|
| GetJniTypeName(IJavaPeerable) |
インスタンス |
| JavaAs<TResult>(IJavaPeerable) |
|
| JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
| JavaCast<TResult>(IJavaObject) |
|
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
|