Tipo de datos BigDecimal (inicialización, suma, resta, multiplicación y división, operaciones básicas)

BigDecimal es un tipo de big data, cálculo más preciso

1. Inicialización

1.1 Cadena como parámetro 
BigDecimal a = new BigDecimal ("1.22"); 
doublevalue: 1.2199999999999999733546474089962430298328399658203125 
1.2 Número como parámetro 
BigDecimal a = new BigDecimal (1.22); 
construcción con un valor String: 1.22 


Nota 1: El método de construcción String es completamente predecible: escribir newBigDecimal ("0.1") creará un BigDecimal, que es exactamente igual al 0.1 esperado. Por lo tanto, en comparación, generalmente se recomienda utilizar primero el método de construcción String.

Nota 2: Cuando se debe usar double como fuente de BigDecimal, tenga en cuenta que este constructor proporciona una conversión precisa; no proporciona el mismo resultado que la siguiente operación: primero use el método Double.toString (double), luego use BigDecimal (String) Método de construcción para convertir double en String. Para obtener el resultado, utilice el método valueOf (doble) estático

2. La operación de división 
a = a.divide (b, 2) 
a = a.divide (b, 2, BigDecimal.'BigDecimal.Rounding method ') 
2 es mantener el número de puntos decimales 

al dividir por el método de división de BigDecimal. Dividir, cuando hay un decimal de bucle infinito, se lanzará una excepción

Solución: establezca la precisión y mantenga algunos lugares decimales para el método de división.

Resumen de uso constante de enumeración BigDecimal:  modo de redondeo
CEILING 
para redondear a infinito positivo. Modo de redondeo
ABAJO 
para redondeo hacia cero. El modo de redondeo de
FLOOR 
redondeo hacia infinito negativo. 
HALF_DOWN es
el modo de redondeo que redondea  al número más cercano. Si la distancia de dos números adyacentes es igual, redondea hacia abajo. El modo de redondeo que
HALF_EVEN redondea 
al número más cercano. Si la distancia entre dos números adyacentes es igual, redondea al número par adyacente. El modo de redondeo que
HALF_UP redondea 
al número más cercano. Si la distancia de dos números adyacentes es igual, redondee hacia arriba. 
INNECESSARY es 
un modo de redondeo que se utiliza para afirmar que la operación solicitada tiene un resultado preciso, por lo que no se requiere redondeo. Modo de redondeo
ARRIBA 
para redondear desde cero.
 

3. Otras operaciones de valor

3.1 a.max (b) // Compara el valor máximo

3.2 a.min (b) // Compara el valor mínimo

3.3 a.abs () // Toma el valor más absoluto

3.4 a.negate () // toma lo contrario

 

 

 

 

Supongo que te gusta

Origin blog.csdn.net/johnt25/article/details/86743334
Recomendado
Clasificación