Método BigDecimal subtract() en Java con ejemplos

El java.math.BigDecimal .subtract(BigDecimal val) se usa para calcular la diferencia aritmética de dos BigDecimals. Este método se utiliza para encontrar la diferencia aritmética de números grandes sin comprometer la precisión del resultado. Este método realiza una operación sobre el BigDecimal actual mediante el cual se llama a este método y se pasa BigDecimal como parámetro.

Hay dos sobrecargas del método de resta disponibles en Java que se enumeran a continuación:

  • restar (Valor decimal grande)
  • restar (valor BigDecimal, MathContext mc)

restar (Valor decimal grande)

Sintaxis:

public BigDecimal subtract(BigDecimal val)

Parámetros: este método acepta un parámetro val que es el valor que se restará de este BigDecimal.

Valor de retorno: este método devuelve un BigDecimal que contiene la diferencia (this – val) y cuya escala es max(this. scale() , val. scale() ).

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

// Java program to demonstrate
// subtract() method of BigDecimal
  
import java.math.BigDecimal;
  
public class GFG {
    public static void main(String[] args)
    {
        // BigDecimal object to store result
        BigDecimal diff;
  
        // For user input
        // Use Scanner or BufferedReader
  
        // Two objects of String created
        // Holds the values to calculate the difference
        String input1
            = "545456468445645468464645";
        String input2
            = "425645648446468486486452";
  
        // Convert the string input to BigDecimal
        BigDecimal a
            = new BigDecimal(input1);
        BigDecimal b
            = new BigDecimal(input2);
  
        // Using subtract() method
        diff = a.subtract(b);
  
        // Display the result in BigDecimal
        System.out.println("The difference of\n"
                           + a + " \nand\n" + b + " "
                           + "\nis\n" + diff + "\n");
    }
}

Producción:

La diferencia de
545456468445645468464645
y
425645648446468486486452
es
119810819999176981978193

restar (valor BigDecimal, MathContext mc)

Sintaxis:

public BigDecimal subtract(BigDecimal val, MathContext mc)

Parámetros: Este método acepta dos parámetros, uno es val que es el valor a restar de este BigDecimal y un mc de tipo MathContext.

Valor devuelto: este método devuelve un BigDecimal que tiene una diferencia (this – val), con redondeo según la configuración del contexto.

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

// Java program to demonstrate
// subtract() method of BigDecimal
  
import java.math.*;
  
public class GFG {
    public static void main(String[] args)
    {
        // BigDecimal object to store result
        BigDecimal diff;
  
        // For user input
        // Use Scanner or BufferedReader
  
        // Two objects of String created
        // Holds the values to calculate the difference
        String input1
            = "468445645468464645";
        String input2
            = "4256456484464684864864";
  
        // Convert the string input to BigDecimal
        BigDecimal a
            = new BigDecimal(input1);
        BigDecimal b
            = new BigDecimal(input2);
  
        // Set precision to 10
        MathContext mc
            = new MathContext(10);
        // Using subtract() method
        diff = a.subtract(b, mc);
  
        // Display the result in BigDecimal
        System.out.println("The difference of\n"
                           + a + " \nand\n" + b + " "
                           + "\nis\n" + diff + "\n");
    }
}

Producción:

La diferencia de
468445645468464645
y
4256456484464684864864
es
-4.255988039E+21

Referencias: https://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html#subtract(java.math.BigDecimal)

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 *