PrecisionCalc
xl
Precision
Get Your Numbers Right

 

xlpPOWER

Raises one number to the power of another number, with up to 32,767 significant digits of precision.

Syntax

xlpPOWER(num,pwr,format_negative,format_thousands,format_currency,exponential_notation,
                 maximum_significant_digits,restrict_input_lengths,format_decimal_place)

num Required. The base number being raised to a power. Can be positive or negative. Can be a non-integer.
pwr Required. The exponent to which the base number is raised. Can be positive or negative. Can be a non-integer.
format_negative Optional. Determines whether negatives are formatted with a leading hyphen ("-"), or parentheses ("()"). Set to 1 to format negatives with a leading hyphen. Set to 2 for parentheses. 1 by default.

You can also format negatives with a red font.

format_thousands Optional. Determines whether thousands separators are included. Set to TRUE to include thousands separators. FALSE by default.
format_currency Optional. Determines whether currency symbol is included. Set to TRUE to include currency symbol. The currency symbol will be added either to the beginning or to the end of the result, whichever is appropriate for the locale. FALSE by default.
exponential_notation Optional. Determines whether result is formatted in exponential notation. Set to TRUE to format in exponential notation. FALSE by default.
maximum_significant_digits Optional. Determines the maximum number of significant digits to be returned. Default is 100, or the user's custom maximum set in the About box, or the maximum number allowed by the edition of xlPrecision, whichever is less.

If pwr is a non-integer, xlpPOWER may be unable to resolve an answer if maximum_significant_digits is the same as, or very close to, the maximum number of significant digits allowed by the xlPrecision edition. If xlpPOWER is unable to resolve an answer for this reason, it returns "#NUM!". For best results with non-integer powers in xlpPOWER, keep maximum_significant_digits at least 5 digits smaller than the maximum number of significant digits allowed by the xlPrecision edition. The default significant digits is always at least 5 digits smaller, so leaving maximum_significant_digits unspecified meets this recommendation.

restrict_input_lengths Optional. If pwr is a non-integer, returns "#NUM!" if the combined lengths of num and pwr are more than half of the maximum number of significant digits allowed by the xlPrecision edition. Set to FALSE to disable this restriction, allowing num and pwr to be as long as desired. TRUE by default.

xlpPOWER may be unable to return a correct answer if the lengths of num and pwr add up to more than half of the maximum number of significant digits allowed by your edition of xlPrecision. For example, since the Free Edition allows a maximum of 150 significant digits, restrict_input_lengths would limit num and pwr to a combined total of 75 digits.

Use restrict_input_lengths with caution; setting restrict_input_lengths to FALSE may cause incorrect results.

This limitation applies to the total number of digits in num and pwr, not just to the number of significant digits. For example, restrict_input_lengths counts the number "25000" as 5 digits, even though it has only 2 significant digits.

restrict_input_lengths is not affected by xlpPOWER's maximum_significant_digits argument. For example, if you are using the Free Edition and set xlpPOWER's maximum_significant_digits argument to 50, restrict_input_lengths still limits num and pwr to a combined total of 75 digits (not 25), because 75 is half of the 150 maximum significant digits allowed by the Free Edition.

restrict_input_lengths does not affect how many significant digits xlpPOWER can return. If the lengths of num and pwr are within the limits, xlpPOWER can return as many significant digits as desired.

If you are unsure how many significant digits your edition of xlPrecision allows, check Tools | xlPrecision 3.1 | About xlPrecision 3.1, or enter the formula "=xlpSD()" (without the quotes).

format_decimal_place Optional. Determines whether to add or remove decimal places as required to return the exact specified number of decimal places.

When format_decimal_place causes decimal places to be removed, the remaining decimals are rounded, exactly as Excel's number formatting does.

Set format_decimal_place to the number of decimal places desired. For example, set to 3 to specify that the result should have exactly 3 decimal places, so that:

  • "123.4" is formatted as "123.400"
  • "12.3456" is formatted as "12.346"
  • "9.9999" is formatted as "10.000"


Use the Insert Function Dialog to easily enter these arguments:
(available on most editions of xlPrecision, but not recommended with the Free Edition as it causes the Free Edition dialog to appear multiple times)

   

  


Examples

Formula Description Result
=xlpPOWER(2,3) 2 ^ 3 8
=xlpPOWER(-2,3) (-2) ^ 3 -8
=xlpPOWER(2,-3) 2 ^ (-3) 0.125
=xlpPOWER(2.5,3) 2.5 ^ 3 15.625
=xlpPOWER(2,3.5) 2 ^ 3.5 11.31370849898476039041351

Length of result depends on xlPrecision edition and settings.
=xlpPOWER(-2,3.5) (-2) ^ 3.5 #NUM!

If num is negative and pwr is not an integer, there is no mathematically correct solution. See explanation above.
=xlpPOWER(1.23,1.23) 1.23 ^ 1.23 1.28998092100128094035512

Length of result depends on xlPrecision edition and settings.
=xlpPOWER(1.23,-1.23) 1.23 ^ -1.23 0.77520526367459895811456

Length of result depends on xlPrecision edition and settings.
=xlpPOWER(0.9,0.9) 0.9 ^ 0.9 0.90953257608296218953537

Length of result depends on xlPrecision edition and settings.
=xlpPOWER(0.9,-0.9) 0.9 ^ -0.9 1.09946584245134932516248

Length of result depends on xlPrecision edition and settings.
=xlpPOWER("1.23456789123456789",
                  "9.87654321987654321")

To prevent Excel from truncating the numbers to 15 digits, enter them in quotes as shown.

1.23456789123456789 ^ 9.87654321987654321, without letting Excel truncate to 15 significant digits 8.014042321340901341580451
7506095679426792546612134

Length of result depends on xlPrecision edition and settings.
=xlpPOWER(-2,-3,2) -2 ^ -3, formatted with parentheses if negative (0.125)
=xlpPOWER(100,2,,TRUE) 100 ^ 2, formatted with localized thousands separators 10,000  (in the USA)
10.000  (in Germany)
10 000  (in France)
=xlpPOWER(100,2,,,TRUE) 100 ^ 2, formatted with the local currency symbol $10000  (in the USA)
10000  (in Germany)
10000 kr  (in Estonia)
10000Lek  (in Albania)
=xlpPOWER(100,2,,,,TRUE) 100 ^ 2, formatted in exponential notation 1.0E+4
=xlpPOWER("1.002E+3","3.004E+3",,,,TRUE) '1.002E+3' ^ '3.004E+3', formatted in exponential notation 4.042364579377907266560662175
1781939887797599608775E+9014

Length of result depends on xlPrecision edition and settings.

=xlpPOWER(A1,A2,,,,,500)
=
xlpPOWER(A1,A2,,,,,500000)
=
xlpPOWER(A1,A2,,,,,A3)

To prevent Excel from truncating the numbers in cells A1 & A2 to 15 digits, preformat those cells as "Text" number format, or enter a leading apostrophe.

A1 ^ A2, with up to 500 (or 500,000, or the number in A3) significant digits of precision.

Allows A1, A2, and the return value to each be up to 500 (or 500,000, or the number in A3) significant digits.

=xlpPOWER(2,-2,,,,,,,3) 2 ^ -2, formatted to 3 decimal places. 0.250
(padded with zeros to meet the specified number of decimal places)
=xlpPOWER(2,-3,,,,,,,2) 2 ^ -3, formatted to 2 decimal places. 0.13
(rounded to fit the specified number of decimal places)
=xlpPOWER(-10,3,2,TRUE,TRUE,,500,,2) -10 ^ 3, formatted with:
  • parentheses if negative
  • localized thousands separators
  • local currency symbol
  • up to 500 significant digits of precision
  • 2 decimal places
($1,000.00)  (in the USA)
(1.
000,00 )  (in Germany)
(1
000,00 )  (in France)
(1
000.00 kr)  (in Estonia)
(1.
000,00Lek)  (in Albania)


Remarks

 

 

xlPrecision Home Page
PrecisionCalc Home Page