Skip to content
Related Articles
BigDecimal negate() Function in Java
• Last Updated : 04 Dec, 2018
1. The java.math.BigDecimal.negate() method returns a BigDecimal whose value is the negated value of the BigDecimal with which it is used.

Syntax:

`public BigDecimal negate()`

Parameters: The method does not take any parameters .

Return Value: This method returns the negative value of the BigDecimal object and whose scale is this.scale().

Below programs will illustrate the use of java.math.BigDecimal.negate() function:
Program 1 :

 `// Java program to demonstrate negate() method``import` `java.math.*;`` ` `public` `class` `GFG {`` ` `   ``public` `static` `void` `main(String[] args) {`` ` `      ``// Create a BigDecimal object``      ``BigDecimal num;``       ` `      ``// Assign value to num``      ``num = ``new` `BigDecimal(``"4743"``);`` ` `      ``System.out.println( ``"Negated value is "` `+ num.negate() );``   ``}``}`
Output:
```Negated value is -4743
```

Program 2:

 `// Java program to demonstrate negate() method``import` `java.math.*;`` ` `public` `class` `GFG {`` ` `   ``public` `static` `void` `main(String[] args) {`` ` `      ``// Create a BigDecimal object``      ``BigDecimal num;``       ` `      ``// Assign value to num``      ``num = ``new` `BigDecimal(``"-9674283517.97"``);`` ` `      ``System.out.println( ``"Negated value is "` `+ num.negate() );``   ``}``}`
Output:
```Negated value is 9674283517.97
```
2. The java.math.BigDecimal.negate(MathContext mc) method returns a BigDecimal whose value is the negated value of it, i.e. obtained by rounding off according to the precision settings specified by the object of MathContext class.

Syntax:

`public BigDecimal negate(MathContext mc)`

Parameters: The method accepts only one parameter mc of MathContext class object which specifies the precision settings for rounding off the BigDecimal.

Return Value: This method returns the negated value of the object which is rounded as per the precision settings.

Exception: The method might throw ArithmeticException if the result obtained is not exact but the rounding mode is UNNECESSARY.

Below programs will illustrate the use of java.math.BigDecimal.negate(MathContext mc) method:
Program 1

 `// Java program to demonstrate negate(MathContext mc) method``import` `java.math.*;`` ` `public` `class` `GFG {`` ` `    ``public` `static` `void` `main(String[] args)``    ``{`` ` `        ``// create 2 BigDecimal objects``        ``BigDecimal num, negv;`` ` `        ``MathContext mc = ``new` `MathContext(``4``); ``// 4 precision`` ` `        ``// assign value to num``        ``num = ``new` `BigDecimal(``"78.6714"``);`` ` `        ``// assign negate value of num to negv using mc``        ``negv = num.negate(mc);``        ``System.out.println(``"Negated value, rounded to 4"``+``        ``" precision "` `+ negv);``    ``}``}`
Output:
```Negated value, rounded to 4 precision -78.67
```

Program 2

 `// Java program to demonstrate negate(MathContext mc) method``import` `java.math.*;`` ` `public` `class` `GFG {`` ` `    ``public` `static` `void` `main(String[] args)``    ``{`` ` `        ``// create 2 BigDecimal objects``        ``BigDecimal num, negv;`` ` `        ``MathContext mc = ``new` `MathContext(``12``); ``// 12 precision`` ` `        ``// assign value to num``        ``num = ``new` `BigDecimal(``"-178901456.68431"``);`` ` `        ``// assign negate value of num to negv using mc``        ``negv = num.negate(mc);``        ``System.out.println(``"Negated value, rounded to 12 "``+``        ``"precision "` `+ negv);``    ``}``}`
Output:
```Negated value, rounded to 12 precision 178901456.684
```

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up