Lenguaje

BigDecimal Clase

Definición

La BigDecimal clase implementa números decimales de precisión arbitraria inmutables.

[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
Herencia
Atributos
Implementaciones

Comentarios

La BigDecimal clase implementa números decimales de precisión arbitraria inmutables. Los métodos de la BigDecimal clase proporcionan operaciones para aritmética de punto flotante y fijo, comparación, conversiones de formato y hash.

Dado que los números son decimales, hay una correspondencia exacta entre una instancia de un BigDecimal objeto y su String representación; la BigDecimal clase proporciona conversiones directas a objetos de matriz de caracteresString y desde char[] y hacia y hacia y desde los tipos primitivos de Java (que pueden no ser exactos) y BigInteger.

En las descripciones de constructores y métodos de esta documentación, el valor de un BigDecimal objeto number se muestra como resultado de invocar el toString() método en el objeto . La representación interna de un número decimal no está definida ni expuesta y no puede afectar al resultado de ninguna operación.

La aritmética de punto flotante proporcionada por esta clase se define mediante el estándar ANSI X3.274-1996 y también se documenta en http://www2.hursley.ibm.com/decimal<br>[This URL will change.]<h3>Métodos< de operador/h3>

Las operaciones en BigDecimal números se controlan mediante un MathContext objeto , que proporciona el contexto (precisión y otra información) para la operación. Los métodos que pueden tomar un MathContext parámetro implementan los operadores aritméticos estándar para BigDecimal los objetos y se conocen como métodos de operador. La configuración predeterminada proporcionada por la constante MathContext#DEFAULT (digits=9, form=SCIENTIFIC, lostDigits=false, roundingMode=ROUND_HALF_UP) realiza la aritmética de punto flotante de uso general en nueve dígitos de precisión. El parámetro MathContext no debe ser null.

Cada método de operador también tiene una versión proporcionada que no toma un MathContext parámetro. Para esta versión de cada método, la configuración de contexto usada es digits=0, form=PLAIN, lostDigits=false, roundingMode=ROUND_HALF_UP; esta configuración realiza una aritmética de punto fija con precisión ilimitada, tal como se define para la clase BigDecimal original en Java 1.1 y Java 1.2.

En el caso de los operadores monadices, solo está presente el parámetro opcional MathContext ; la operación actúa sobre el objeto actual.

Para los operadores dyadic, un BigDecimal parámetro siempre está presente; no debe ser null. La operación actúa con el objeto actual siendo el operando izquierdo y el BigDecimal parámetro es el operando derecho.

Por ejemplo, agregar dos BigDecimal objetos a los que se hace referencia en los nombres award y extra se podría escribir como cualquiera de:

award.add(extra) <br>award.add(extra, MathContext.DEFAULT) <br>award.add(extra, acontext)

(donde acontext es un MathContext objeto ), que devolvería un BigDecimal objeto cuyo valor es el resultado de agregar award y extra bajo la configuración de contexto adecuada.

Cuando se usa un método de operador, un BigDecimal conjunto de reglas define cuál será el resultado (y, por implicación, cómo se representaría el resultado como una cadena de caracteres). Estas reglas se definen en la documentación aritmética BigDecimal (consulte la dirección URL anterior), pero en resumen: <los resultados ul><li>normalmente se calculan con un número máximo de dígitos significativos. Por ejemplo, si el MathContext parámetro de una operación fuera MathContext.DEFAULT entonces el resultado se redondearía a 9 dígitos; la división de 2 por 3 daría como resultado 0,6666666667. <br> Puede cambiar el valor predeterminado de 9 dígitos significativos proporcionando el método con un objeto adecuado MathContext . Esto le permite calcular el uso de tantos dígitos como necesite, miles, si es necesario. La aritmética de punto fijo (escalado) se indica mediante un digits valor de 0 (o se omite el MathContext parámetro). <Br> De forma similar, puede cambiar el algoritmo utilizado para redondear desde el algoritmo predeterminado "clásico". <li> En la aritmética estándar (es decir, cuando la form configuración no PLAINes ), un resultado cero siempre se expresa como el dígito '0' único (es decir, sin signo, separador decimal o parte exponente). <li> Excepto para los operadores de división y energía en aritmética estándar, se conservan los ceros finales (esto contrasta con las operaciones de punto flotante binario y la mayoría de las calculadoras electrónicas, que pierden la información sobre los ceros finales en la parte fraccionaria de los resultados). <br> So, por ejemplo:

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"

donde el valor de la derecha de =&gt; sería el resultado de la operación, expresado como String, y def (en este y ejemplos siguientes) hace referencia a MathContext.DEFAULT ). Esta conservación de ceros finales es deseable para la mayoría de los cálculos (incluidos los cálculos financieros). Si es necesario, los ceros finales se pueden quitar fácilmente mediante la división en 1. <li> En la aritmética estándar, la forma exponencial se usa para un resultado en función de su valor y el valor actual de digits (el valor predeterminado es de 9 dígitos). Si el número de posiciones necesarias antes de que el separador decimal supere la digits configuración, o el valor absoluto del número es menor que 0.000001, el número se expresará en notación exponencial; por lo tanto,

new BigDecimal("1e+6").multiply(new BigDecimal("1e+6"), def)

da como 1E+12 resultado en lugar de 1000000000000, y

new BigDecimal("1").divide(new BigDecimal("3E+10"), def)

da como resultado en 3.33333333E-11 lugar de 0.0000000000333333333.

La forma de la notación exponencial (científica o ingeniería) viene determinada por la form configuración. </ul>

Los nombres de los métodos de esta clase siguen las convenciones establecidas por java.lang.Number, java.math.BigIntegery java.math.BigDecimal en Java 1.1 y Java 1.2.

Java documentación para android.icu.math.BigDecimal.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Constructores

Nombre Description
BigDecimal(BigDecimal)

Construye un BigDecimal objeto a partir de .java.math.BigDecimal

BigDecimal(BigInteger, Int32)

Construye un BigDecimal objeto a partir de y BigInteger una escala.

BigDecimal(BigInteger)

Construye un BigDecimal objeto a partir de , BigIntegercon escala 0.

BigDecimal(Char[], Int32, Int32)

Construye un BigDecimal objeto a partir de una matriz de caracteres.

BigDecimal(Char[])

Construye un BigDecimal objeto a partir de una matriz de caracteres.

BigDecimal(Double)

Construye un BigDecimal objeto directamente a partir de .double

BigDecimal(Int32)

Construye un BigDecimal objeto directamente a partir de .int

BigDecimal(Int64)

Construye un BigDecimal objeto directamente a partir de .long

BigDecimal(IntPtr, JniHandleOwnership)

La BigDecimal clase implementa números decimales de precisión arbitraria inmutables.

BigDecimal(String)

Construye un BigDecimal objeto a partir de .String

Campos

Nombre Description
RoundCeiling
Obsoletos.

Modo de redondeo para redondear a un número más positivo.

RoundDown
Obsoletos.

Modo de redondeo para redondear hacia cero.

RoundFloor
Obsoletos.

Modo de redondeo para redondear a un número más negativo.

RoundHalfDown
Obsoletos.

Modo de redondeo para redondear al vecino más cercano, donde se redondea un valor equidistante hacia abajo.

RoundHalfEven
Obsoletos.

Modo de redondeo para redondear al vecino más cercano, donde un valor equidistante se redondea al vecino más cercano.

RoundHalfUp
Obsoletos.

Modo de redondeo para redondear al vecino más cercano, donde se redondea un valor equidistante hacia arriba.

RoundUnnecessary
Obsoletos.

Modo de redondeo para afirmar que no es necesario redondear.

RoundUp
Obsoletos.

Modo de redondeo para redondear de cero.

Propiedades

Nombre Description
Class

Devuelve la clase en tiempo de ejecución de este Objectobjeto .

(Heredado de Object)
Handle

Identificador de la instancia de Android subyacente.

(Heredado de Object)
JniIdentityHashCode

Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad.

(Heredado de Object)
JniManagedPeerState

La BigDecimal clase implementa números decimales de precisión arbitraria inmutables.

(Heredado de JavaObject)
JniPeerMembers

La BigDecimal clase implementa números decimales de precisión arbitraria inmutables.

One

Constante BigDecimal "1".

PeerReference

Obtiene la referencia de objeto JNI para este Java del mismo nivel.

(Heredado de Object)
Ten

Constante BigDecimal "10".

ThresholdClass

La BigDecimal clase implementa números decimales de precisión arbitraria inmutables.

ThresholdType

La BigDecimal clase implementa números decimales de precisión arbitraria inmutables.

Zero

Constante BigDecimal "0".

Métodos

Nombre Description
Abs()

Devuelve un valor sin formato BigDecimal cuyo valor es el valor absoluto de este BigDecimalobjeto .

Abs(MathContext)

Devuelve un BigDecimal cuyo valor es el valor absoluto de este BigDecimal.

Add(BigDecimal, MathContext)

Devuelve un BigDecimal cuyo valor es this+rhs.

Add(BigDecimal)

Devuelve un valor sin formato BigDecimal cuyo valor es this+rhs, utilizando la aritmética de punto fijo.

ByteValue()

Devuelve el valor del número especificado como .byte

(Heredado de Number)
ByteValueExact()

Convierte este BigDecimal en byte.

Clone()

Crea y devuelve una copia de este objeto.

(Heredado de Object)
CompareTo(BigDecimal, MathContext)

Compara esto BigDecimal con otro.

CompareTo(BigDecimal)

Compara esto BigDecimal con otro, utilizando una precisión ilimitada.

Construct(JniObjectReference, JniObjectReferenceOptions)

La BigDecimal clase implementa números decimales de precisión arbitraria inmutables.

(Heredado de JavaObject)
Dispose()

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Object)
Dispose(Boolean)

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Object)
DisposeUnlessReferenced()

La BigDecimal clase implementa números decimales de precisión arbitraria inmutables.

(Heredado de JavaObject)
Divide(BigDecimal, Int32, RoundOptions)

Devuelve un valor sin formato BigDecimal cuyo valor es this/rhs, utilizando la aritmética de punto fijo y un modo de escala y redondeo determinado.

Divide(BigDecimal, MathContext)

Devuelve un BigDecimal cuyo valor es this/rhs.

Divide(BigDecimal, RoundOptions)

Devuelve un valor sin formato BigDecimal cuyo valor es this/rhs, utilizando la aritmética de punto fijo y un modo de redondeo.

Divide(BigDecimal)

Devuelve un valor sin formato BigDecimal cuyo valor es this/rhs, utilizando la aritmética de punto fijo.

DivideInteger(BigDecimal, MathContext)

Devuelve un BigDecimal cuyo valor es la parte entera de this/rhs.

DivideInteger(BigDecimal)

Devuelve un valor sin formato BigDecimal cuyo valor es la parte entera de this/rhs.

DoubleValue()

Convierte este BigDecimal en double.

Equals(Object)

La BigDecimal clase implementa números decimales de precisión arbitraria inmutables.

(Heredado de JavaObject)
Equals(Object)

Indica si algún otro objeto es "igual a" este.

(Heredado de Object)
FloatValue()

Convierte este BigDecimal en float.

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

Devuelve la String representación de , BigDecimalmodificada por parámetros de diseño y permitiendo la notación exponencial.

Format(Int32, Int32)

Devuelve la String representación de , BigDecimalmodificada por parámetros de diseño.

GetHashCode()

Devuelve un valor de código hash para el objeto .

(Heredado de Object)
IntValue()

Convierte esto BigDecimal en .int

IntValueExact()

Convierte esto BigDecimal en .int

JavaFinalize()
Obsoletos.

Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto .

(Heredado de Object)
LongValue()

Convierte este BigDecimal en long.

LongValueExact()

Convierte este BigDecimal en long.

Max(BigDecimal, MathContext)

Devuelve un BigDecimal cuyo valor es el máximo de this y rhs.

Max(BigDecimal)

Devuelve un valor sin formato BigDecimal cuyo valor es el máximo de this y rhs.

Min(BigDecimal, MathContext)

Devuelve un BigDecimal cuyo valor es el mínimo de this y rhs.

Min(BigDecimal)

Devuelve un valor sin formato BigDecimal cuyo valor es el mínimo de this y rhs.

MovePointLeft(Int32)

Devuelve una sin formato cuyo separador BigDecimal decimal se ha movido a la izquierda por un número especificado de posiciones.

MovePointRight(Int32)

Devuelve una sin formato cuyo separador BigDecimal decimal se ha movido a la derecha por un número especificado de posiciones.

Multiply(BigDecimal, MathContext)

Devuelve un BigDecimal cuyo valor es this*rhs.

Multiply(BigDecimal)

Devuelve un valor sin formato BigDecimal cuyo valor es this*rhs, utilizando la aritmética de punto fijo.

Negate()

Devuelve un valor sin formato BigDecimal cuyo valor es -this.

Negate(MathContext)

Devuelve un BigDecimal cuyo valor es -this.

Notify()

Activa un único subproceso que está esperando en el monitor de este objeto.

(Heredado de Object)
NotifyAll()

Activa todos los subprocesos que están esperando en el monitor de este objeto.

(Heredado de Object)
Plus()

Devuelve un valor sin formato BigDecimal cuyo valor es +this.

Plus(MathContext)

Devuelve un BigDecimal cuyo valor es +this.

Pow(BigDecimal, MathContext)

Devuelve un BigDecimal cuyo valor es this**rhs.

Pow(BigDecimal)

Devuelve un valor sin formato BigDecimal cuyo valor es this**rhs, utilizando la aritmética de punto fijo.

Remainder(BigDecimal, MathContext)

Devuelve un BigDecimal cuyo valor es el resto de this/rhs.

Remainder(BigDecimal)

Devuelve un valor sin formato BigDecimal cuyo valor es el resto de this/rhs, utilizando la aritmética de punto fijo.

Scale()

Devuelve la escala de este BigDecimalobjeto .

SetHandle(IntPtr, JniHandleOwnership)

Establece la propiedad Handle.

(Heredado de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

La BigDecimal clase implementa números decimales de precisión arbitraria inmutables.

(Heredado de JavaObject)
SetScale(Int32, RoundOptions)

Devuelve una sin formato BigDecimal con una escala determinada.

SetScale(Int32)

Devuelve una sin formato BigDecimal con una escala determinada.

ShortValue()

Devuelve el valor del número especificado como .short

(Heredado de Number)
ShortValueExact()

Convierte este BigDecimal en short.

Signum()

Devuelve el signo de , BigDecimalcomo .int

Subtract(BigDecimal, MathContext)

Devuelve un BigDecimal cuyo valor es this-rhs.

Subtract(BigDecimal)

Devuelve un valor sin formato BigDecimal cuyo valor es this-rhs, utilizando la aritmética de punto fijo.

ToArray<T>()

Crea una matriz administrada a partir de este contenedor de matriz Java.

(Heredado de Object)
ToBigDecimal()

Convierte este BigDecimal en java.math.BigDecimal.

ToBigInteger()

Convierte este BigDecimal en java.math.BigInteger.

ToBigIntegerExact()

Convierte este BigDecimal en java.math.BigInteger.

ToCharArray()

Devuelve como BigDecimal una matriz de caracteres.

ToString()

Devuelve una representación de cadena del objeto .

(Heredado de Object)
UnregisterFromRuntime()

Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad.

(Heredado de Object)
UnscaledValue()

Devuelve el número como un BigInteger después de quitar la escala.

ValueOf(Double)

Convierte un objeto double en un BigDecimalobjeto .

ValueOf(Int64, Int32)

Convierte un long objeto en un BigDecimal objeto con una escala determinada.

ValueOf(Int64)

Convierte un objeto long en un BigDecimalobjeto .

Wait()

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser em notificado/em< o >em<interrumpido>/em<.><>

(Heredado de Object)
Wait(Int64, Int32)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)
Wait(Int64)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)

Implementaciones de interfaz explícitas

Nombre Description
IComparable.CompareTo(Object)

Compara este objeto con el objeto especificado para el orden.

IJavaPeerable.Disposed()

La BigDecimal clase implementa números decimales de precisión arbitraria inmutables.

(Heredado de JavaObject)
IJavaPeerable.Finalized()

La BigDecimal clase implementa números decimales de precisión arbitraria inmutables.

(Heredado de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

La BigDecimal clase implementa números decimales de precisión arbitraria inmutables.

(Heredado de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

La BigDecimal clase implementa números decimales de precisión arbitraria inmutables.

(Heredado de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

La BigDecimal clase implementa números decimales de precisión arbitraria inmutables.

(Heredado de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

La BigDecimal clase implementa números decimales de precisión arbitraria inmutables.

(Heredado de JavaObject)
IJavaPeerable.UnregisterFromRuntime()

La BigDecimal clase implementa números decimales de precisión arbitraria inmutables.

Métodos de extensión

Nombre Description
GetJniTypeName(IJavaPeerable)

Obtiene el nombre JNI del tipo de la instancia self.

JavaAs<TResult>(IJavaPeerable)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

JavaCast<TResult>(IJavaObject)

Realiza una conversión de tipos comprobados en tiempo de ejecución de Android.

JavaCast<TResult>(IJavaObject)

La BigDecimal clase implementa números decimales de precisión arbitraria inmutables.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

Se aplica a