BigDecimal Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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")) => "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"
donde el valor de la derecha de => 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(BigInteger, Int32) |
Construye un |
| BigDecimal(BigInteger) |
Construye un |
| BigDecimal(Char[], Int32, Int32) |
Construye un |
| BigDecimal(Char[]) |
Construye un |
| BigDecimal(Double) |
Construye un |
| BigDecimal(Int32) |
Construye un |
| BigDecimal(Int64) |
Construye un |
| BigDecimal(IntPtr, JniHandleOwnership) |
La |
| BigDecimal(String) |
Construye un |
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 |
| 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 |
| JniPeerMembers |
La |
| One |
Constante |
| PeerReference |
Obtiene la referencia de objeto JNI para este Java del mismo nivel. (Heredado de Object) |
| Ten |
Constante |
| ThresholdClass |
La |
| ThresholdType |
La |
| Zero |
Constante |
Métodos
| Nombre | Description |
|---|---|
| Abs() |
Devuelve un valor sin formato |
| Abs(MathContext) |
Devuelve un |
| Add(BigDecimal, MathContext) |
Devuelve un |
| Add(BigDecimal) |
Devuelve un valor sin formato |
| ByteValue() |
Devuelve el valor del número especificado como . |
| ByteValueExact() |
Convierte este |
| Clone() |
Crea y devuelve una copia de este objeto. (Heredado de Object) |
| CompareTo(BigDecimal, MathContext) |
Compara esto |
| CompareTo(BigDecimal) |
Compara esto |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
La |
| 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 |
| Divide(BigDecimal, Int32, RoundOptions) |
Devuelve un valor sin formato |
| Divide(BigDecimal, MathContext) |
Devuelve un |
| Divide(BigDecimal, RoundOptions) |
Devuelve un valor sin formato |
| Divide(BigDecimal) |
Devuelve un valor sin formato |
| DivideInteger(BigDecimal, MathContext) |
Devuelve un |
| DivideInteger(BigDecimal) |
Devuelve un valor sin formato |
| DoubleValue() |
Convierte este |
| Equals(Object) |
La |
| Equals(Object) |
Indica si algún otro objeto es "igual a" este. (Heredado de Object) |
| FloatValue() |
Convierte este |
| Format(Int32, Int32, Int32, Int32, Int32, RoundOptions) |
Devuelve la |
| Format(Int32, Int32) |
Devuelve la |
| GetHashCode() |
Devuelve un valor de código hash para el objeto . (Heredado de Object) |
| IntValue() |
Convierte esto |
| IntValueExact() |
Convierte esto |
| 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 |
| LongValueExact() |
Convierte este |
| Max(BigDecimal, MathContext) |
Devuelve un |
| Max(BigDecimal) |
Devuelve un valor sin formato |
| Min(BigDecimal, MathContext) |
Devuelve un |
| Min(BigDecimal) |
Devuelve un valor sin formato |
| MovePointLeft(Int32) |
Devuelve una sin formato cuyo separador |
| MovePointRight(Int32) |
Devuelve una sin formato cuyo separador |
| Multiply(BigDecimal, MathContext) |
Devuelve un |
| Multiply(BigDecimal) |
Devuelve un valor sin formato |
| Negate() |
Devuelve un valor sin formato |
| Negate(MathContext) |
Devuelve un |
| 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 |
| Plus(MathContext) |
Devuelve un |
| Pow(BigDecimal, MathContext) |
Devuelve un |
| Pow(BigDecimal) |
Devuelve un valor sin formato |
| Remainder(BigDecimal, MathContext) |
Devuelve un |
| Remainder(BigDecimal) |
Devuelve un valor sin formato |
| Scale() |
Devuelve la escala de este |
| SetHandle(IntPtr, JniHandleOwnership) |
Establece la propiedad Handle. (Heredado de Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
La |
| SetScale(Int32, RoundOptions) |
Devuelve una sin formato |
| SetScale(Int32) |
Devuelve una sin formato |
| ShortValue() |
Devuelve el valor del número especificado como . |
| ShortValueExact() |
Convierte este |
| Signum() |
Devuelve el signo de , |
| Subtract(BigDecimal, MathContext) |
Devuelve un |
| Subtract(BigDecimal) |
Devuelve un valor sin formato |
| ToArray<T>() |
Crea una matriz administrada a partir de este contenedor de matriz Java. (Heredado de Object) |
| ToBigDecimal() |
Convierte este |
| ToBigInteger() |
Convierte este |
| ToBigIntegerExact() |
Convierte este |
| ToCharArray() |
Devuelve como |
| 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 |
| ValueOf(Double) |
Convierte un objeto |
| ValueOf(Int64, Int32) |
Convierte un |
| ValueOf(Int64) |
Convierte un objeto |
| 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 |
| IJavaPeerable.Finalized() |
La |
| IJavaPeerable.JniObjectReferenceControlBlock |
La |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
La |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
La |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
La |
| IJavaPeerable.UnregisterFromRuntime() |
La |
Métodos de extensión
| Nombre | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtiene el nombre JNI del tipo de la instancia |
| JavaAs<TResult>(IJavaPeerable) |
Intente coerción |
| JavaCast<TResult>(IJavaObject) |
Realiza una conversión de tipos comprobados en tiempo de ejecución de Android. |
| JavaCast<TResult>(IJavaObject) |
La |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Intente coerción |