BigDecimal 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
클래스는 BigDecimal 변경할 수 없는 임의 정밀도 소수 자릿수를 구현합니다.
[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 변경할 수 없는 임의 정밀도 소수 자릿수를 구현합니다. 클래스의 BigDecimal 메서드는 고정 및 부동 소수점 산술 연산, 비교, 형식 변환 및 해시 작업을 제공합니다.
숫자는 10진수이므로 개체 인스턴스 BigDecimal 와 해당 String 표현 BigDecimal 사이에 정확한 대응이 있습니다. 클래스는 Java 기본 형식(정확하지 않을 수 있음)과 문자 배열(String) 개체 간에 직접 변환 char[] 을 BigInteger제공합니다.
이 설명서의 생성자 및 메서드에 대한 설명에서 숫자 개체의 BigDecimal 값은 개체에서 메서드를 호출한 toString() 결과로 표시됩니다. 10진수의 내부 표현은 정의되거나 노출되지 않으며 작업의 결과에 영향을 줄 수 없습니다.
이 클래스에서 제공하는 부동 소수점 산술 연산은 ANSI X3.274-1996 표준에 의해 정의되며 http://www2.hursley.ibm.com/decimal<br>[이 URL이 변경됩니다.]<h3>연산자 메서드</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_UPJava 1.1 및 Java 1.2의 원래 BigDecimal 클래스에 대해 정의된 대로 무제한 정밀도로 고정 소수점 산술 연산을 수행합니다.
monadic 연산자의 경우 선택적 MathContext 매개 변수만 존재합니다. 이 연산은 현재 개체에 대해 작동합니다.
dyadic 연산자의 BigDecimal 경우 매개 변수는 항상 존재합니다. 그렇지 않아야 null합니다. 이 작업은 현재 개체가 왼쪽 피연산자이고 매개 변수가 BigDecimal 오른쪽 피연산자인 상태에서 작동합니다.
예를 들어 이름 BigDecimal 에서 참조하고 award 다음 중 하나로 작성할 수 있는 두 개체 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>결과는 일반적으로 최대 유효 자릿수까지 계산됩니다. 예를 들어 작업에 대한 매개 변수가 MathContext 있으면 결과가 9자리로 반올림되고 2를 3으로 나누면 MathContext.DEFAULT 0.6666666667이 됩니다.
<br> 메서드에 적합한 MathContext 개체를 제공하여 기본값인 9개의 유효 자릿수를 변경할 수 있습니다. 이렇게 하면 필요한 경우 수천 개의 숫자를 사용하여 계산할 수 있습니다. 고정 소수점(배율) 산술 연산은 0 설정을 사용 digits 하거나 매개 변수를 생략하여 MathContext 표시됩니다.
<br> 마찬가지로, 반올림에 사용되는 알고리즘을 기본 "클래식" 알고리즘에서 변경할 수 있습니다.
<li> 표준 산술 연산(즉, 설정이 아닌 form경우PLAIN)에서 0 결과는 항상 한 자리 '0' (즉, 부호 없음, 소수점 또는 지수 부분)로 표현됩니다.
<li> 표준 산술 연산자의 나누기 및 전력 연산자를 제외하고 후행 0은 유지됩니다(이진 부동 소수점 연산과 대부분의 전자 계산기와는 대조적으로 결과의 소수 부분에서 후행 0에 대한 정보가 손실됨).
<br> So, 예:
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 . 후행 0을 보존하는 것은 대부분의 계산(재무 계산 포함)에 적합합니다. 필요한 경우 1로 나누기를 사용하여 후행 0을 쉽게 제거할 수 있습니다.
<li> 표준 산술 연산에서 지수 형식은 값 및 현재 설정 digits (기본값은 9자리)에 따라 결과에 사용됩니다. 소수점 이전에 필요한 위치 수가 설정을 초과 digits 하거나 숫자의 절대값이 보다 0.000001작으면 숫자가 지수 표기법으로 표현됩니다.
new BigDecimal("1e+6").multiply(new BigDecimal("1e+6"), def)
결과 대신 1E+121000000000000, 및
new BigDecimal("1").divide(new BigDecimal("3E+10"), def)
가 아닌 3.33333333E-11결과를 가져옵니다0.0000000000333333333.
지수 표기법(과학 또는 공학)의 형태는 설정에 form 따라 결정됩니다.
</ul>
이 클래스의 메서드 이름은 Java java.lang.Number1.1 및 java.math.BigInteger Java 1.2에서 설정한 java.math.BigDecimal규칙을 따릅니다.
에 대한 android.icu.math.BigDecimalJava 설명서
이 페이지의 일부는 만들고 공유한 작업을 기반으로 하며 에 설명된 조건에 따라 사용됩니다.
생성자
| 속성 | Description |
|---|---|
| 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) |
에서 개체를 |
필드
| 속성 | Description |
|---|---|
| RoundCeiling |
사용되지 않음.
반올림 모드를 더 양수로 반올림합니다. |
| RoundDown |
사용되지 않음.
반올림 모드가 0으로 반올림됩니다. |
| RoundFloor |
사용되지 않음.
반올림 모드를 더 음수로 반올림합니다. |
| RoundHalfDown |
사용되지 않음.
반올림 모드를 가장 가까운 인접 항목으로 반올림합니다. 여기서 등가 값은 반올림됩니다. |
| RoundHalfEven |
사용되지 않음.
반올림 모드를 가장 가까운 인접 항목으로 반올림합니다. 여기서 등가 값은 가장 가까운 짝수 인접 항목으로 반올림됩니다. |
| RoundHalfUp |
사용되지 않음.
반올림 모드를 가장 가까운 인접 항목으로 반올림합니다. 여기서 등가 값이 반올림됩니다. |
| RoundUnnecessary |
사용되지 않음.
반올림 모드는 반올림이 필요하지 않음을 어설션합니다. |
| RoundUp |
사용되지 않음.
반올림 모드를 0에서 둥글게 합니다. |
속성
| 속성 | Description |
|---|---|
| Class |
이 |
| Handle |
기본 Android 인스턴스에 대한 핸들입니다. (다음에서 상속됨 Object) |
| JniIdentityHashCode |
interop 런타임에 의해 이 Java 피어에 할당된 ID 해시 코드를 가져옵니다. (다음에서 상속됨 Object) |
| JniManagedPeerState |
클래스는 |
| JniPeerMembers |
클래스는 |
| One |
|
| PeerReference |
이 Java 피어에 대한 JNI 개체 참조를 가져옵니다. (다음에서 상속됨 Object) |
| Ten |
|
| ThresholdClass |
클래스는 |
| ThresholdType |
클래스는 |
| Zero |
|
메서드
| 속성 | Description |
|---|---|
| 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() |
이 개체의 모니터에서 대기 중인 단일 스레드를 해제합니다. (다음에서 상속됨 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() |
interop 런타임에서 이 Java 피어의 등록을 취소합니다. (다음에서 상속됨 Object) |
| UnscaledValue() |
눈금을 제거한 후 숫자를 a |
| ValueOf(Double) |
를 변환 |
| ValueOf(Int64, Int32) |
|
| ValueOf(Int64) |
를 변환 |
| Wait() |
현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <알림을 받><거나 ><>중단/종료<합니다.> (다음에서 상속됨 Object) |
| Wait(Int64, Int32) |
현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <>알림을 받<거나 >중단/<종료><>하거나 일정량의 실시간 경과가 발생할 때까지 대기합니다. (다음에서 상속됨 Object) |
| Wait(Int64) |
현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <>알림을 받<거나 >중단/<종료><>하거나 일정량의 실시간 경과가 발생할 때까지 대기합니다. (다음에서 상속됨 Object) |
명시적 인터페이스 구현
| 속성 | Description |
|---|---|
| IComparable.CompareTo(Object) |
클래스는 |
| IJavaPeerable.Disposed() |
클래스는 |
| IJavaPeerable.Finalized() |
클래스는 |
| IJavaPeerable.JniObjectReferenceControlBlock |
클래스는 |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
클래스는 |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
클래스는 |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
클래스는 |
| IJavaPeerable.UnregisterFromRuntime() |
클래스는 |
확장명 메서드
| 속성 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
인스턴스 |
| JavaAs<TResult>(IJavaPeerable) |
형식 |
| JavaCast<TResult>(IJavaObject) |
Android 런타임 확인 형식 변환을 수행합니다. |
| JavaCast<TResult>(IJavaObject) |
클래스는 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
형식 |