Language

BigDecimal クラス

定義

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")) =&gt; "4.40" <br>new BigDecimal("2.40").subtract(new BigDecimal("2")) =&gt; "0.40" <br>new BigDecimal("2.40").multiply(new BigDecimal("2")) =&gt; "4.80" <br>new BigDecimal("2.40").divide( new BigDecimal("2"), def) =&gt; "1.2"

ここで、 =&gt; の右側の値は操作の結果であり、 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によって確立された規則に従います。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

コンストラクター

Name 説明
BigDecimal(BigDecimal)

BigDecimalからjava.math.BigDecimal オブジェクトを構築します。

BigDecimal(BigInteger, Int32)

BigDecimalとスケールからBigInteger オブジェクトを構築します。

BigDecimal(BigInteger)

スケール 0 のBigDecimalからBigInteger オブジェクトを構築します。

BigDecimal(Char[], Int32, Int32)

文字の配列から BigDecimal オブジェクトを構築します。

BigDecimal(Char[])

文字の配列から BigDecimal オブジェクトを構築します。

BigDecimal(Double)

BigDecimalから直接double オブジェクトを構築します。

BigDecimal(Int32)

BigDecimalから直接int オブジェクトを構築します。

BigDecimal(Int64)

BigDecimalから直接long オブジェクトを構築します。

BigDecimal(IntPtr, JniHandleOwnership)

BigDecimal クラスは、変更できない任意の有効桁数の 10 進数を実装します。

BigDecimal(String)

BigDecimalからString オブジェクトを構築します。

フィールド

Name 説明
RoundCeiling
古い.

より正の数値に丸める丸めモード。

RoundDown
古い.

0 に向かって丸める丸めモード。

RoundFloor
古い.

より負の数に丸める丸めモード。

RoundHalfDown
古い.

等値が切り捨てられる最も近い近隣に丸める丸めモード。

RoundHalfEven
古い.

最も近い近隣に丸める丸めモード。等間隔の値は最も近い偶数の近隣に丸められます。

RoundHalfUp
古い.

等値が切り上げられた最も近い近隣に丸める丸めモード。

RoundUnnecessary
古い.

丸める必要がないことをアサートする丸めモード。

RoundUp
古い.

0 から丸める丸めモード。

プロパティ

Name 説明
Class

この Objectのランタイム クラスを返します。

(継承元 Object)
Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
JniIdentityHashCode

相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。

(継承元 Object)
JniManagedPeerState

BigDecimal クラスは、変更できない任意の有効桁数の 10 進数を実装します。

(継承元 JavaObject)
JniPeerMembers

BigDecimal クラスは、変更できない任意の有効桁数の 10 進数を実装します。

One

BigDecimal定数 "1" です。

PeerReference

このJava ピアの JNI オブジェクト参照を取得します。

(継承元 Object)
Ten

BigDecimal定数 "10"。

ThresholdClass

BigDecimal クラスは、変更できない任意の有効桁数の 10 進数を実装します。

ThresholdType

BigDecimal クラスは、変更できない任意の有効桁数の 10 進数を実装します。

Zero

BigDecimal定数 "0" です。

メソッド

Name 説明
Abs()

このBigDecimalの絶対値を値とするプレーンBigDecimalを返します。

Abs(MathContext)

このBigDecimalの絶対値を値とするBigDecimalを返します。

Add(BigDecimal, MathContext)

値がBigDecimalthis+rhsを返します。

Add(BigDecimal)

固定小数点演算を使用して、値がBigDecimalプレーンなthis+rhsを返します。

ByteValue()

指定した数値の値を byteとして返します。

(継承元 Number)
ByteValueExact()

この BigDecimal を byteに変換します。

Clone()

このオブジェクトのコピーを作成して返します。

(継承元 Object)
CompareTo(BigDecimal, MathContext)

この BigDecimal を別のと比較します。

CompareTo(BigDecimal)

無制限の精度を使用して、この BigDecimal を別のと比較します。

Construct(JniObjectReference, JniObjectReferenceOptions)

BigDecimal クラスは、変更できない任意の有効桁数の 10 進数を実装します。

(継承元 JavaObject)
Dispose()

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
Dispose(Boolean)

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
DisposeUnlessReferenced()

BigDecimal クラスは、変更できない任意の有効桁数の 10 進数を実装します。

(継承元 JavaObject)
Divide(BigDecimal, Int32, RoundOptions)

固定小数点演算と特定のスケールと丸めモードを使用して、値がBigDecimalされたプレーンなthis/rhsを返します。

Divide(BigDecimal, MathContext)

値がBigDecimalthis/rhsを返します。

Divide(BigDecimal, RoundOptions)

固定小数点演算と丸めモードを使用して、値がBigDecimalされたプレーンなthis/rhsを返します。

Divide(BigDecimal)

固定小数点演算を使用して、値がBigDecimalプレーンなthis/rhsを返します。

DivideInteger(BigDecimal, MathContext)

値がBigDecimalの整数部分であるthis/rhsを返します。

DivideInteger(BigDecimal)

BigDecimalの整数部分を値とするプレーンthis/rhsを返します。

DoubleValue()

この BigDecimal を doubleに変換します。

Equals(Object)

BigDecimal クラスは、変更できない任意の有効桁数の 10 進数を実装します。

(継承元 JavaObject)
Equals(Object)

他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。

(継承元 Object)
FloatValue()

この BigDecimal を floatに変換します。

Format(Int32, Int32, Int32, Int32, Int32, RoundOptions)

レイアウト パラメーターによって変更され、指数表記が可能な、このStringのBigDecimal表現を返します。

Format(Int32, Int32)

レイアウト パラメーターによって変更された、このStringのBigDecimal表現を返します。

GetHashCode()

オブジェクトのハッシュ コード値を返します。

(継承元 Object)
IntValue()

この BigDecimal を intに変換します。

IntValueExact()

この BigDecimal を intに変換します。

JavaFinalize()
古い.

オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
LongValue()

この BigDecimal を longに変換します。

LongValueExact()

この BigDecimal を longに変換します。

Max(BigDecimal, MathContext)

値が最大BigDecimalおよびthisであるrhsを返します。

Max(BigDecimal)

値がBigDecimalとthisの最大値であるプレーンrhsを返します。

Min(BigDecimal, MathContext)

BigDecimalとthisの最小値を値とするrhsを返します。

Min(BigDecimal)

BigDecimalとthisの最小値を持つプレーンなrhsを返します。

MovePointLeft(Int32)

小数点が指定した桁数だけ左に移動されたプレーンな BigDecimal を返します。

MovePointRight(Int32)

小数点が指定した桁数だけ右に移動されたプレーン BigDecimal を返します。

Multiply(BigDecimal, MathContext)

値がBigDecimalthis*rhsを返します。

Multiply(BigDecimal)

固定小数点演算を使用して、値がBigDecimalプレーンなthis*rhsを返します。

Negate()

値がBigDecimalされたプレーンな-thisを返します。

Negate(MathContext)

値がBigDecimal-thisを返します。

Notify()

このオブジェクトのモニターで待機している 1 つのスレッドを起動します。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドを起動します。

(継承元 Object)
Plus()

値がBigDecimalされたプレーンな+thisを返します。

Plus(MathContext)

値がBigDecimal+thisを返します。

Pow(BigDecimal, MathContext)

値がBigDecimalthis**rhsを返します。

Pow(BigDecimal)

固定小数点演算を使用して、値がBigDecimalプレーンなthis**rhsを返します。

Remainder(BigDecimal, MathContext)

値がBigDecimalの残りの部分であるthis/rhsを返します。

Remainder(BigDecimal)

固定小数点演算を使用して、BigDecimalの剰余を値とするプレーンthis/rhsを返します。

Scale()

この BigDecimalのスケールを返します。

SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

BigDecimal クラスは、変更できない任意の有効桁数の 10 進数を実装します。

(継承元 JavaObject)
SetScale(Int32, RoundOptions)

特定のスケールを持つプレーンな BigDecimal を返します。

SetScale(Int32)

特定のスケールを持つプレーンな BigDecimal を返します。

ShortValue()

指定した数値の値を shortとして返します。

(継承元 Number)
ShortValueExact()

この BigDecimal を shortに変換します。

Signum()

この BigDecimalの符号を intとして返します。

Subtract(BigDecimal, MathContext)

値がBigDecimalthis-rhsを返します。

Subtract(BigDecimal)

固定小数点演算を使用して、値がBigDecimalプレーンなthis-rhsを返します。

ToArray<T>()

このJava配列ラッパーからマネージド配列を作成します。

(継承元 Object)
ToBigDecimal()

この BigDecimal を java.math.BigDecimalに変換します。

ToBigInteger()

この BigDecimal を java.math.BigIntegerに変換します。

ToBigIntegerExact()

この BigDecimal を java.math.BigIntegerに変換します。

ToCharArray()

BigDecimalを文字配列として返します。

ToString()

オブジェクトの文字列形式を返します。

(継承元 Object)
UnregisterFromRuntime()

相互運用ランタイムからこのJava ピアの登録を解除します。

(継承元 Object)
UnscaledValue()

スケールを削除した後、数値を BigInteger として返します。

ValueOf(Double)

doubleをBigDecimalに変換します。

ValueOf(Int64, Int32)

特定のスケールを持つlongにBigDecimalを変換します。

ValueOf(Int64)

longをBigDecimalに変換します。

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()

BigDecimal クラスは、変更できない任意の有効桁数の 10 進数を実装します。

(継承元 JavaObject)
IJavaPeerable.Finalized()

BigDecimal クラスは、変更できない任意の有効桁数の 10 進数を実装します。

(継承元 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

BigDecimal クラスは、変更できない任意の有効桁数の 10 進数を実装します。

(継承元 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

BigDecimal クラスは、変更できない任意の有効桁数の 10 進数を実装します。

(継承元 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

BigDecimal クラスは、変更できない任意の有効桁数の 10 進数を実装します。

(継承元 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

BigDecimal クラスは、変更できない任意の有効桁数の 10 進数を実装します。

(継承元 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

BigDecimal クラスは、変更できない任意の有効桁数の 10 進数を実装します。

拡張メソッド

Name 説明
GetJniTypeName(IJavaPeerable)

インスタンス selfの型の JNI 名を取得します。

JavaAs<TResult>(IJavaPeerable)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

BigDecimal クラスは、変更できない任意の有効桁数の 10 進数を実装します。

TryJavaCast<TResult>(IJavaPeerable, TResult)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

適用対象