BigDecimal Classe

Definição

A BigDecimal classe implementa números decimais de precisão arbitrária imutáveis.

[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
Herança
Atributos
Implementações

Comentários

A BigDecimal classe implementa números decimais de precisão arbitrária imutáveis. Os métodos da BigDecimal classe fornecem operações para aritmética de ponto fixo e flutuante, comparação, conversões de formato e hash.

Como os números são decimais, há uma correspondência exata entre uma instância de um BigDecimal objeto e sua String representação; a BigDecimal classe fornece conversões diretas de String e para objetos de matriz de caractere (char[]), bem como conversões de e para os tipos primitivos Java (que podem não ser exatos) e BigInteger.

Nas descrições de construtores e métodos nesta documentação, o valor de um BigDecimal objeto numérico é mostrado como resultado da invocação do toString() método no objeto. A representação interna de um número decimal não é definida nem exposta e não tem permissão para afetar o resultado de qualquer operação.

A aritmética de ponto flutuante fornecida por essa classe é definida pelo padrão ANSI X3.274-1996 e também está documentada em http://www2.hursley.ibm.com/decimal<br>[Essa URL será alterada.]<Métodos> do operador h3</h3>

As operações em BigDecimal números são controladas por um MathContext objeto, que fornece o contexto (precisão e outras informações) para a operação. Métodos que podem usar um MathContext parâmetro implementam os operadores aritméticos padrão para BigDecimal objetos e são conhecidos como métodos de operador. As configurações padrão fornecidas pela constante MathContext#DEFAULT (digits=9, form=SCIENTIFIC, lostDigits=false, roundingMode=ROUND_HALF_UP) executam aritmética de ponto flutuante de uso geral para nove dígitos de precisão. O parâmetro MathContext não pode ser null.

Cada método de operador também tem uma versão fornecida que não usa um MathContext parâmetro. Para esta versão de cada método, as configurações de contexto usadas sãodigits=0, form=PLAIN, lostDigits=false, roundingMode=ROUND_HALF_UP; essas configurações executam aritmética de ponto fixo com precisão ilimitada, conforme definido para a classe BigDecimal original em Java 1.1 e Java 1.2.

Para operadores monádicos, somente o parâmetro opcional MathContext está presente; a operação atua no objeto atual.

Para operadores dyadic, um BigDecimal parâmetro está sempre presente; ele não deve ser null. A operação atua com o objeto atual sendo o operando à esquerda e o BigDecimal parâmetro sendo o operando à direita.

Por exemplo, adicionar dois BigDecimal objetos referenciados pelos nomes award e extra pode ser escrito como qualquer um deles:

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

(onde acontext está um MathContext objeto), que retornaria um BigDecimal objeto cujo valor é o resultado da adição award e extra das configurações de contexto apropriadas.

Quando um BigDecimal método de operador é usado, um conjunto de regras define qual será o resultado (e, por implicação, como o resultado seria representado como uma cadeia de caracteres). Essas regras são definidas na documentação aritmética bigdecimal (consulte a URL acima), mas em resumo: <ul><li>Os resultados normalmente são calculados com até algum número máximo de dígitos significativos. Por exemplo, se o MathContext parâmetro de uma operação fosse MathContext.DEFAULT , o resultado seria arredondado para 9 dígitos; a divisão de 2 por 3 resultaria em 0,66666666667. <br> Você pode alterar o padrão de 9 dígitos significativos fornecendo ao método um objeto adequado MathContext . Isso permite calcular o uso de quantos dígitos forem necessários, milhares, se necessário. A aritmética de ponto fixo (dimensionado) é indicada usando uma digits configuração de 0 (ou omitindo o MathContext parâmetro). <br> Da mesma forma, você pode alterar o algoritmo usado para arredondamento do algoritmo "clássico" padrão. <li> Em aritmética padrão (ou seja, quando a form configuração não PLAINé ), um resultado zero é sempre expresso como o único dígito '0' (ou seja, sem sinal, ponto decimal ou parte expoente). <li> Exceto para os operadores de divisão e energia em aritmética padrão, zeros à direita são preservados (isso contrasta com operações de ponto flutuante binário e a maioria das calculadoras eletrônicas, que perdem as informações sobre zeros à direita na parte fracionária dos resultados). <br> So, por exemplo:

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"

em que o valor à direita seria =&gt; o resultado da operação, expresso como um Stringe def (neste e nos exemplos a seguir) se refere a MathContext.DEFAULT ). Essa preservação de zeros à direita é desejável para a maioria dos cálculos (incluindo cálculos financeiros). Se necessário, zeros à direita podem ser facilmente removidos usando a divisão por 1. <li> No formato aritmético padrão, o formulário exponencial é usado para um resultado, dependendo de seu valor e da configuração atual de digits (o padrão é 9 dígitos). Se o número de locais necessários antes do ponto decimal exceder a digits configuração ou o valor absoluto do número for menor que 0.000001, então o número será expresso em notação exponencial; portanto,

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

resulta em 1E+12 vez de 1000000000000, e

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

resulta em 3.33333333E-11 vez de 0.0000000000333333333.

A forma da notação exponencial (científica ou de engenharia) é determinada pela configuração form . </ul>

Os nomes dos métodos nesta classe seguem as convenções estabelecidas por java.lang.Number, java.math.BigIntegere java.math.BigDecimal em Java 1.1 e Java 1.2.

Java documentação para android.icu.math.BigDecimal.

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Construtores

Nome Description
BigDecimal(BigDecimal)

Constrói um BigDecimal objeto a partir de um java.math.BigDecimal.

BigDecimal(BigInteger, Int32)

Constrói um BigDecimal objeto de um BigInteger e de uma escala.

BigDecimal(BigInteger)

Constrói um BigDecimal objeto de um BigInteger, com escala 0.

BigDecimal(Char[], Int32, Int32)

Constrói um BigDecimal objeto de uma matriz de caracteres.

BigDecimal(Char[])

Constrói um BigDecimal objeto de uma matriz de caracteres.

BigDecimal(Double)

Constrói um BigDecimal objeto diretamente de um double.

BigDecimal(Int32)

Constrói um BigDecimal objeto diretamente de um int.

BigDecimal(Int64)

Constrói um BigDecimal objeto diretamente de um long.

BigDecimal(IntPtr, JniHandleOwnership)

A BigDecimal classe implementa números decimais de precisão arbitrária imutáveis.

BigDecimal(String)

Constrói um BigDecimal objeto a partir de um String.

Campos

Nome Description
RoundCeiling
Obsoleto.

Modo de arredondamento para arredondar para um número mais positivo.

RoundDown
Obsoleto.

Modo de arredondamento para arredondar em direção a zero.

RoundFloor
Obsoleto.

Modo de arredondamento para arredondar para um número mais negativo.

RoundHalfDown
Obsoleto.

Modo de arredondamento para arredondar para o vizinho mais próximo, onde um valor equidistante é arredondado para baixo.

RoundHalfEven
Obsoleto.

Modo de arredondamento para arredondar para o vizinho mais próximo, onde um valor equidistante é arredondado para o vizinho par mais próximo.

RoundHalfUp
Obsoleto.

Modo de arredondamento para arredondar para o vizinho mais próximo, onde um valor equidistante é arredondado para cima.

RoundUnnecessary
Obsoleto.

Modo de arredondamento para afirmar que nenhum arredondamento é necessário.

RoundUp
Obsoleto.

Modo de arredondamento para arredondar para longe de zero.

Propriedades

Nome Description
Class

Retorna a classe de runtime deste Object.

(Herdado de Object)
Handle

O identificador para a instância subjacente do Android.

(Herdado de Object)
JniIdentityHashCode

Obtém o código de hash de identidade atribuído a esse par Java pelo runtime de interoperabilidade.

(Herdado de Object)
JniManagedPeerState

A BigDecimal classe implementa números decimais de precisão arbitrária imutáveis.

(Herdado de JavaObject)
JniPeerMembers

A BigDecimal classe implementa números decimais de precisão arbitrária imutáveis.

One

A BigDecimal constante "1".

PeerReference

Obtém a referência de objeto JNI para este par Java.

(Herdado de Object)
Ten

A BigDecimal constante "10".

ThresholdClass

A BigDecimal classe implementa números decimais de precisão arbitrária imutáveis.

ThresholdType

A BigDecimal classe implementa números decimais de precisão arbitrária imutáveis.

Zero

A BigDecimal constante "0".

Métodos

Nome Description
Abs()

Retorna um simples BigDecimal cujo valor é o valor absoluto deste BigDecimal.

Abs(MathContext)

Retorna um BigDecimal cujo valor é o valor absoluto deste BigDecimal.

Add(BigDecimal, MathContext)

Retorna um BigDecimal cujo valor é this+rhs.

Add(BigDecimal)

Retorna uma planície BigDecimal cujo valor é this+rhs, usando aritmética de ponto fixo.

ByteValue()

Retorna o valor do número especificado como um byte.

(Herdado de Number)
ByteValueExact()

Converte isso BigDecimal em um byte.

Clone()

Cria e retorna uma cópia desse objeto.

(Herdado de Object)
CompareTo(BigDecimal, MathContext)

Compara isso BigDecimal com outro.

CompareTo(BigDecimal)

Compara isso BigDecimal com outro, usando precisão ilimitada.

Construct(JniObjectReference, JniObjectReferenceOptions)

A BigDecimal classe implementa números decimais de precisão arbitrária imutáveis.

(Herdado de JavaObject)
Dispose()

Libera os recursos mantidos por esse par Java.

(Herdado de Object)
Dispose(Boolean)

Libera os recursos mantidos por esse par Java.

(Herdado de Object)
DisposeUnlessReferenced()

A BigDecimal classe implementa números decimais de precisão arbitrária imutáveis.

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

Retorna uma simples BigDecimal cujo valor é this/rhs, usando aritmética de ponto fixo e um modo de dimensionamento e arredondamento específicos.

Divide(BigDecimal, MathContext)

Retorna um BigDecimal cujo valor é this/rhs.

Divide(BigDecimal, RoundOptions)

Retorna uma simples BigDecimal cujo valor é this/rhs, usando aritmética de ponto fixo e um modo de arredondamento.

Divide(BigDecimal)

Retorna uma planície BigDecimal cujo valor é this/rhs, usando aritmética de ponto fixo.

DivideInteger(BigDecimal, MathContext)

Retorna um BigDecimal cujo valor é a parte inteira de this/rhs.

DivideInteger(BigDecimal)

Retorna uma planície BigDecimal cujo valor é a parte inteira de this/rhs.

DoubleValue()

Converte isso BigDecimal em um double.

Equals(Object)

A BigDecimal classe implementa números decimais de precisão arbitrária imutáveis.

(Herdado de JavaObject)
Equals(Object)

Indica se algum outro objeto é "igual a" este.

(Herdado de Object)
FloatValue()

Converte isso BigDecimal em um float.

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

Retorna a String representação disso BigDecimal, modificada por parâmetros de layout e permitindo notação exponencial.

Format(Int32, Int32)

Retorna a String representação disso BigDecimal, modificada por parâmetros de layout.

GetHashCode()

Retorna um valor de código hash para o objeto.

(Herdado de Object)
IntValue()

Converte isso BigDecimal em um int.

IntValueExact()

Converte isso BigDecimal em um int.

JavaFinalize()

Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto.

(Herdado de Object)
LongValue()

Converte isso BigDecimal em um long.

LongValueExact()

Converte isso BigDecimal em um long.

Max(BigDecimal, MathContext)

Retorna um BigDecimal cujo valor é o máximo de this e rhs.

Max(BigDecimal)

Retorna uma simples BigDecimal cujo valor é o máximo de this e rhs.

Min(BigDecimal, MathContext)

Retorna um BigDecimal cujo valor é o mínimo de this e rhs.

Min(BigDecimal)

Retorna uma planície BigDecimal cujo valor é o mínimo de this e rhs.

MovePointLeft(Int32)

Retorna uma planície BigDecimal cujo ponto decimal foi movido para a esquerda por um número especificado de posições.

MovePointRight(Int32)

Retorna uma planície BigDecimal cujo ponto decimal foi movido para a direita por um número especificado de posições.

Multiply(BigDecimal, MathContext)

Retorna um BigDecimal cujo valor é this*rhs.

Multiply(BigDecimal)

Retorna uma planície BigDecimal cujo valor é this*rhs, usando aritmética de ponto fixo.

Negate()

Retorna uma planície BigDecimal cujo valor é -this.

Negate(MathContext)

Retorna um BigDecimal cujo valor é -this.

Notify()

Ativa um único thread que está aguardando no monitor deste objeto.

(Herdado de Object)
NotifyAll()

Ativa todos os threads que estão aguardando no monitor deste objeto.

(Herdado de Object)
Plus()

Retorna uma planície BigDecimal cujo valor é +this.

Plus(MathContext)

Retorna um BigDecimal cujo valor é +this.

Pow(BigDecimal, MathContext)

Retorna um BigDecimal cujo valor é this**rhs.

Pow(BigDecimal)

Retorna uma planície BigDecimal cujo valor é this**rhs, usando aritmética de ponto fixo.

Remainder(BigDecimal, MathContext)

Retorna um BigDecimal cujo valor é o restante de this/rhs.

Remainder(BigDecimal)

Retorna uma planície BigDecimal cujo valor é o restante de , usando aritmética de this/rhsponto fixo.

Scale()

Retorna a escala deste BigDecimal.

SetHandle(IntPtr, JniHandleOwnership)

Define a propriedade Handle

(Herdado de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

A BigDecimal classe implementa números decimais de precisão arbitrária imutáveis.

(Herdado de JavaObject)
SetScale(Int32, RoundOptions)

Retorna uma simples BigDecimal com uma determinada escala.

SetScale(Int32)

Retorna uma simples BigDecimal com uma determinada escala.

ShortValue()

Retorna o valor do número especificado como um short.

(Herdado de Number)
ShortValueExact()

Converte isso BigDecimal em um short.

Signum()

Retorna o sinal disso BigDecimal, como um int.

Subtract(BigDecimal, MathContext)

Retorna um BigDecimal cujo valor é this-rhs.

Subtract(BigDecimal)

Retorna uma planície BigDecimal cujo valor é this-rhs, usando aritmética de ponto fixo.

ToArray<T>()

Cria uma matriz gerenciada com base nesse wrapper de matriz Java.

(Herdado de Object)
ToBigDecimal()

Converte isso BigDecimal em um java.math.BigDecimal.

ToBigInteger()

Converte isso BigDecimal em um java.math.BigInteger.

ToBigIntegerExact()

Converte isso BigDecimal em um java.math.BigInteger.

ToCharArray()

Retorna como BigDecimal uma matriz de caracteres.

ToString()

Retorna uma representação de cadeia de caracteres do objeto.

(Herdado de Object)
UnregisterFromRuntime()

Cancela o registro desse par Java do runtime de interoperabilidade.

(Herdado de Object)
UnscaledValue()

Retorna o número como um BigInteger após remover a escala.

ValueOf(Double)

Converte um para double um BigDecimal.

ValueOf(Int64, Int32)

Converte um long para um BigDecimal com uma determinada escala.

ValueOf(Int64)

Converte um para long um BigDecimal.

Wait()

Faz com que o thread atual aguarde até ser despertado, normalmente por ser <notificado/em> ou <em>interrompido</em>.<>

(Herdado de Object)
Wait(Int64, Int32)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido.

(Herdado de Object)
Wait(Int64)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido.

(Herdado de Object)

Implantações explícitas de interface

Nome Description
IComparable.CompareTo(Object)

A BigDecimal classe implementa números decimais de precisão arbitrária imutáveis.

IJavaPeerable.Disposed()

A BigDecimal classe implementa números decimais de precisão arbitrária imutáveis.

(Herdado de JavaObject)
IJavaPeerable.Finalized()

A BigDecimal classe implementa números decimais de precisão arbitrária imutáveis.

(Herdado de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

A BigDecimal classe implementa números decimais de precisão arbitrária imutáveis.

(Herdado de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

A BigDecimal classe implementa números decimais de precisão arbitrária imutáveis.

(Herdado de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

A BigDecimal classe implementa números decimais de precisão arbitrária imutáveis.

(Herdado de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

A BigDecimal classe implementa números decimais de precisão arbitrária imutáveis.

(Herdado de JavaObject)
IJavaPeerable.UnregisterFromRuntime()

A BigDecimal classe implementa números decimais de precisão arbitrária imutáveis.

Métodos de Extensão

Nome Description
GetJniTypeName(IJavaPeerable)

Obtém o nome JNI do tipo da instância self.

JavaAs<TResult>(IJavaPeerable)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

JavaCast<TResult>(IJavaObject)

Executa uma conversão de tipo marcada por runtime do Android.

JavaCast<TResult>(IJavaObject)

A BigDecimal classe implementa números decimais de precisão arbitrária imutáveis.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

Aplica-se a