import java.math.*; // java.math.BigDecimal; //java.math.MathContext; // //java.math.RoundingMode; import java.text.*; // java.text.NumberFormat; import java.util.*; // java.util.Locale; public class Java_BigDecimal_add { public static void main(String args[]) { NumberFormat dollar = NumberFormat.getCurrencyInstance(Locale.US); char val[] = { '5', '0', '0', '0' }; BigDecimal obj_0 = new BigDecimal(val); long rng = obj_0.longValueExact(); BigDecimal obj_1 = new BigDecimal(rng), obj_3 = new BigDecimal(0); System.out.println("BigDecimal class '.add(BigDecimal object)' " + "example\n"); System.out.println("obj_0 value : " + dollar.format(obj_0.doubleValue())); System.out.println("obj_1 value : " + dollar.format(obj_1.doubleValue())); obj_3 = obj_0.add(obj_1); System.out.print("Added objects value with .add method : " + dollar.format(obj_3)); System.out.print("\n\nBigDecimal class '.add(BigDecimal " + "object, MathContext mc)' example\n\n"); MathContext x_men = new MathContext(0, RoundingMode.CEILING), revolution = new MathContext(0, RoundingMode.DOWN); double value = 2000.256; String str = "3000.564"; BigDecimal obj_4 = new BigDecimal(value, x_men), obj_5 = new BigDecimal(Double.parseDouble(str)), obj_6 = new BigDecimal(0); System.out.println("obj_4 value : $" + (obj_4) + "\nobj_5 value" + " : $" + (obj_5)); obj_6 = obj_4.add(obj_5, revolution); System.out.println("Added value as per context settings : " + dollar.format(obj_6.doubleValue())); } }