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); } } }