[an error occurred while processing this directive]

Java BigDecimal equals example

                         

Method evaluates bigdecimal object values as well as the scales allocated to the values. Method returns true only when both bigdecimal objects as operands for the methods possess same value and same scale. 

Method throws NumberFormatException if it value other than integer or double value. In the example an string array with name rose is created. With this array two bigdecimal objects neo & trinity are assigned number values. Also an object of MathContext class is created for handling the rounding behavior of the values, assigned to the bigdecimal objects. 

Syntax for using the method: public boolean equal(Object x)
System.out.println(bigdecimal_objectName.equals(bigdecimal_objectName))); 
                              or
boolean boo = (this.object).equals(x);      

Java_BigDecimal_equal.java                 

import java.math.BigDecimal;
import java.math.MathContext;
import java.math.RoundingMode;

public class Java_BigDecimal_equal {
  public static void main(String args[]) {

    String rose[] "dreams ""are",
        "those""that""don't""let",
        "sleep  " };

    BigDecimal neo = new BigDecimal(rose.length),
    trinity = new BigDecimal(rose[6].length());

    boolean result_0 = neo.equals(trinity);
    if (result_0 == true) {
      System.out.println(neo.equals(trinity)
          " : Both operands possess same" +
          " length of value");
    else
      System.out.println(neo.equals(trinity)
          " : Both operands are not equal");

    MathContext mc_0 = new MathContext(0),
    mc_1 = new MathContext(0);
    mc_0 = new MathContext(0, RoundingMode.DOWN);
    mc_1 = new MathContext(0, RoundingMode.DOWN);
    neo = new BigDecimal(Math.PI, mc_0);
    trinity = new BigDecimal(Math.PI, mc_1);

    boolean result_1 = neo.equals(trinity);
    if (result_1 == true) {
      System.out.println(neo.equals(trinity)
            " : Method operands possess " +
            "value of same length and scale");
    else
      System.out.println(neo.equals(trinity)
          " : Method operands are unequal");

    mc_0 = new MathContext(0, RoundingMode.HALF_DOWN);
    mc_1 = new MathContext(0, RoundingMode.UNNECESSARY);
    neo = new BigDecimal(Math.E, mc_0);
    trinity = new BigDecimal(Math.PI, mc_1);

    boolean result_2 = neo.equals(trinity);
    if (result_2 == true) {
      System.out.println(neo.equals(trinity)
            " : Method operands possess " +
            "value of same length and scale");
    else
      System.out.println(neo.equals(trinity)
          " :  Method operands are unequal");

  }
}

Download the code

                         

[an error occurred while processing this directive]