Método BigDecimal setScale() en Java con ejemplos

El java.math.BigDecimal .setScale() se usa para establecer la escala de BigDecimal. Este método realiza una operación sobre el BigDecimal actual mediante el cual se llama a este método.

Hay tres sobrecargas del método setScale() disponibles en Java que se enumeran a continuación:

  • setScale(int nuevaEscala)
  • setScale(int newScale, int roundingMode)
  • setScale(int newScale, RoundingMode roundingMode)

Nota: setScale (int newScale, int roundingMode) está en desuso desde Java 9 .

setScale(int nuevaEscala)

Esta llamada generalmente se usa para aumentar la escala cuando se garantiza que existe un BigDecimal de la escala especificada y el valor correcto. La llamada también se puede usar para reducir la escala si el usuario sabe que BigDecimal tiene suficientes ceros al final de su parte fraccionaria para permitir el cambio de escala sin cambiar su valor.
Sintaxis:

public BigDecimal setScale(int newScale)

Parámetros: este método acepta un parámetro newScale que se utiliza para establecer la escala de este BigDecimal.
Valor devuelto: este método devuelve un BigDecimal cuya escala es del valor especificado.
Excepción: si la operación de escalado especificada requiere redondeo, se genera una excepción aritmética .
Nota: dado que los objetos BigDecimal son inmutables, las llamadas a este método no modifican el objeto original, setScale devuelve un objeto con la escala adecuada. El objeto devuelto puede o no ser nuevamente asignado.

Los siguientes programas se utilizan para ilustrar el método setScale() de BigDecimal.

// Java program to demonstrate
// setScale() method of BigDecimal
  
import java.math.BigDecimal;
  
public class GFG {
    public static void main(String[] args)
    {
        // BigDecimal object to store the result
        BigDecimal res;
  
        // For user input
        // Use Scanner or BufferedReader
  
        // Object of String created
        // Holds the value
        String input1
            = "31452678569.25";
  
        // Convert the string input to BigDecimal
        BigDecimal a
            = new BigDecimal(input1);
  
        // Scale for BigDecimal
        int newScale = 4;
  
        // Using setScale() method
        res = a.setScale(newScale);
  
        // Display the result in BigDecimal
        System.out.println(res);
    }
}
// Java program to demonstrate
// setScale() method of BigDecimal
  
import java.math.BigDecimal;
  
public class GFG {
    public static void main(String[] args)
    {
        // BigDecimal object to store the result
        BigDecimal res;
  
        // For user input
        // Use Scanner or BufferedReader
  
        // Object of String created
        // Holds the value
        String input1
            = "31452678569.24";
  
        // Convert the string input to BigDecimal
        BigDecimal a
            = new BigDecimal(input1);
  
        // Scale for BigDecimal
        int newScale = -1;
        try {
  
            // Using setScale() method
            res = a.setScale(newScale, 1);
  
            // Display the result in BigDecimal
            System.out.println(res);
        }
        catch (Exception e) {
  
            // Print Exception
            System.out.println(e);
        }
    }
}

Publicación traducida automáticamente

Artículo escrito por Rajnis09 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *