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