BigDecimal remainder() method in Java with Examples
Last Updated :
17 Jun, 2019
The
java.math.BigDecimal.remainder(BigDecimal divisor) is used to calculate the remainder of two BigDecimals. The remainder is given by this.
subtract(this.divideToIntegralValue(divisor).
multiply(divisor)). This method performs an operation upon the current BigDecimal by which this method is called and the BigDecimal passed as the parameter.
Note: This is not the modulo operation (the result can be negative).
There are two overloads of remainder method available in Java which is listed below:
- remainder(BigDecimal divisor)
- remainder(BigDecimal divisor, MathContext mc)
remainder(BigDecimal divisor)
Syntax:
public BigDecimal remainder(BigDecimal divisor)
Parameters: This method accepts a parameter
divisor by which this BigDecimal is to be divided for obtaining remainder.
Return value: This method returns a BigDecimal which holds the result
(this % divisor).
Exception: The parameter
divisor must not be
0 otherwise
Arithmetic Exception is thrown.
Below programs is used to illustrate the remainder() method of BigDecimal.
Java
// Java program to demonstrate
// remainder() 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
// Two objects of String created
// Holds the values
String input1
= "31452678569";
String input2
= "2468";
// Convert the string input to BigDecimal
BigDecimal a
= new BigDecimal(input1);
BigDecimal divisor
= new BigDecimal(input2);
// Using remainder() method
res = a.remainder(divisor);
// Display the result in BigDecimal
System.out.println(res);
}
}
Output:
373
remainder(BigDecimal divisor, MathContext mc)
This method is used to calculate the remainder of two BigDecimals whose value is
(this % divisor), with rounding according to the context settings. The MathContext settings affect the implicit divide used to compute the remainder. Therefore, the remainder may contain more than
mc.getPrecision() digits.
Syntax:
public BigDecimal remainder(BigDecimal divisor, MathContext mc)
Parameters: This method accepts a parameter
divisor by which this BigDecimal is to be divided and a parameter
mc of type
MathContext for context settings.
Return value: This method returns a BigDecimal which holds the result
(this % divisor).
Exception: The method throws
Arithmetic Exception for following conditions:
- The parameter divisor must not be 0.
- If mc.precision > 0 and the result requires a precision of more than mc.precision digits.
Below programs is used to illustrate the remainder() method of BigDecimal.
Java
// Java program to demonstrate
// remainder() method of BigDecimal
import java.math.*;
public class GFG {
public static void main(String[] args)
{
// BigDecimal object to store the result
BigDecimal res;
// For user input
// Use Scanner or BufferedReader
// Two objects of String created
// Holds the values
String input1
= "24536482";
String input2
= "264";
// Convert the string input to BigDecimal
BigDecimal a
= new BigDecimal(input1);
BigDecimal divisor
= new BigDecimal(input2);
// Set precision to 5
MathContext mc
= new MathContext(5);
// Using remainder() method
res = a.remainder(divisor, mc);
// Display the result in BigDecimal
System.out.println(res);
}
}