Introducción a BigDecimal, métodos comunes

constructor común

  1. GranDecimal(int)

    Crea un objeto con el valor entero especificado por el parámetro

  2. BigDecimal(doble)

    Crea un objeto con el valor doble especificado por el argumento

  3. BigDecimal (largo)

    Crea un objeto con el valor entero largo especificado por el parámetro

  4. 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

  1. add(BigDecimal) adición de valor

  2. subtract(BigDecimal) resta de valor

  3. multiplicar (BigDecimal) los valores se multiplican

  4. 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

  5. Encadenar()

    Convierte un valor en un objeto BigDecimal a una cadena

  6. valordoble()

    Convierte el valor del objeto BigDecimal en un número de precisión doble

  7. valor flotante ()

    Convierte el valor del objeto BigDecimal en un número de precisión simple

  8. valorlargo()

    Convierte un valor en un objeto BigDecimal a un entero largo

  9. intValor()

    Convierte un valor en un objeto BigDecimal a un entero

  10. 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%

   
   

Supongo que te gusta

Origin blog.csdn.net/qq_35644925/article/details/125991625
Recomendado
Clasificación