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.
import java.math.BigDecimal;
public class GFG {
public static void main(String[] args)
{
BigDecimal res;
String input1
= "31452678569" ;
String input2
= "2468" ;
BigDecimal a
= new BigDecimal(input1);
BigDecimal divisor
= new BigDecimal(input2);
res = a.remainder(divisor);
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.
import java.math.*;
public class GFG {
public static void main(String[] args)
{
BigDecimal res;
String input1
= "24536482" ;
String input2
= "264" ;
BigDecimal a
= new BigDecimal(input1);
BigDecimal divisor
= new BigDecimal(input2);
MathContext mc
= new MathContext( 5 );
res = a.remainder(divisor, mc);
System.out.println(res);
}
}
|