constructor común
-
GranDecimal(int)
Crea un objeto con el valor entero especificado por el parámetro
-
BigDecimal(doble)
Crea un objeto con el valor doble especificado por el argumento
-
BigDecimal (largo)
Crea un objeto con el valor entero largo especificado por el parámetro
-
GranDecimal(Cadena)
Crea un objeto con el valor numérico especificado por el parámetro como una cadena
Se recomienda usar BigDecimal(String) para crear, porque el tipo doble no se puede convertir con precisión al número especificado.
método común
-
add(BigDecimal) adición de valor
-
subtract(BigDecimal) resta de valor
-
multiplicar (BigDecimal) los valores se multiplican
-
divide(BigDecimal) value division
Si hay un decimal infinito no recurrente, se informará un error Se recomienda establecer la precisión cuando se usa
bigDecimal.divide(BigDecimal,2,BigDecimal.ROUND_HALF_UP) Mantenga 2 lugares decimales y redondee hacia arriba -
Encadenar()
Convierte un valor en un objeto BigDecimal a una cadena
-
valordoble()
Convierte el valor del objeto BigDecimal en un número de precisión doble
-
valor flotante ()
Convierte el valor del objeto BigDecimal en un número de precisión simple
-
valorlargo()
Convierte un valor en un objeto BigDecimal a un entero largo
-
intValor()
Convierte un valor en un objeto BigDecimal a un entero
-
toPlainString()
convierte un valor en un objeto BigDecimal en una cadena sin exponente
conservar el número especificado de lugares decimales
Método 1:
Al realizar la división
bigDecimal.divide(BigDecimal,2) mantener 2 lugares decimales
bigDecimal.divide(BigDecimal,2,BigDecimal.ROUND_UP) mantener 2 lugares decimales y redondear hacia arriba
bigDecimal.divide(BigDecimal,2,BigDecimal.ROUND_DOWN) Mantener 2 lugares decimales y redondear hacia abajo
bigDecimal.divide(BigDecimal,2,BigDecimal.ROUND_HALF_UP) Mantener 2 lugares decimales y redondear hacia arriba
Método 2:
bigDecimal.setScale(número de dígitos, modo de redondeo);
valor de formato
NumberFormat currency = NumberFormat.getCurrencyInstance(); //货币格式化
NumberFormat percent = NumberFormat.getPercentInstance(); //百分比格式化
percent.setMaximumFractionDigits(3); //百分比小数点最多3位
BigDecimal loanAmount = new BigDecimal("12000.48"); //金额
BigDecimal interestRate = new BigDecimal("0.006"); //百分比
String loanAmountStr = currency.format(loanAmount);//金额进行格式化 str = 12,000.48
String interestRateStr = percent.format(interestRate);//百分比式化 str = 0.6%