Java.math.BigDecimal.pow() Method



The java.math.BigDecimal.pow(int n, MathContext mc) method returns a BigDecimal whose value is (thisn). The current implementation uses the core algorithm defined in ANSI standard X3.274-1996 with rounding according to the context settings.

In general, the returned numerical value is within two ulps of the exact numerical value for the chosen precision.


Following is the declaration for java.math.BigDecimal.pow() method.

public BigDecimal pow(int n, MathContext mc)


  • n − Power to raise this BigDecimal to.

  • mc − The context to use.

Return Value

This method returns the value of BigDecimal Object raised to the power of n i.e thisn, using the ANSI standard X3.274-1996 algorithm.


ArithmeticException − If the result is inexact but the rounding mode is UNNECESSARY, or n is out of range.


The following example shows the usage of math.BigDecimal.pow() method.

package com.tutorialspoint;

import java.math.*;

public class BigDecimalDemo {

   public static void main(String[] args) {

      // create 2 BigDecimal Objects
      BigDecimal bg1, bg2;

      MathContext mc = new MathContext(4); // 4 precision

      bg1 = new BigDecimal("2.17");

      // apply pow method on bg1 using mc
      bg2 = bg1.pow(3, mc);

      String str = "The value of " + bg1 + " to the power of 3, rounded to " + bg2;

      // print bg2 value
      System.out.println( str );

Let us compile and run the above program, this will produce the following result −

The value of 2.17 to the power of 3, rounded to 10.22