PrecisionCalc
xl
Precision
Get Your Numbers Right


What is xlPrecision?

I could not do the work that I have been doing without xlPrecision.

Thomas Mouat, Alberta, Canada
xlPrecision user since 2003
More Customer Testimonials...

xlPrecision is an Add-In for Microsoft Excel* that provides vastly more precise results from mathematical formulas than Excel provides on its own. xlPrecision makes your calculation results up to 2,183.47 times more precise by providing up to 32,767 "significant digits" of precision, compared to only 15 with Excel alone. A special edition of xlPrecision created at the request of a number theorist provides over 2 Billion significant digits of precision.

xlPrecision allows you to do arithmetic and other numeric analysis on very large numbers without rounding or truncating your numbers to 15 digits, as Excel does on its own. Don't be held back by Excel's limitation of only 15 significant digits!

xlPrecision also eliminates the insidious binary conversion errors that plague spreadsheets.

xlPrecision also empowers you to use vastly larger (and vastly smaller) numbers than Excel allows on its own. With xlPrecision, you can use gigantic numbers with over 106 TIMES as many digits as Excel allows, as well as extremely tiny numbers with over 106 times as many zeroes to the right of the decimal.

Finally, xlPrecision offers many additional features that take you beyond Excel's capabilities in other ways. Save valuable time with xlPrecision's powerful Excluder functions. View your sorted data at a glance with the exceptional sorting function. Take control of your fractional data with the versatile fraction reducer. See Data Control & Analysis Features.

 

How xlPrecision Works

xlPrecision replaces Excel's arithmetic operators (+, - *, /, ^), comparison operators, (>, >=, <, <=, =), and many of its worksheet functions (SUM, MEDIAN, RANK, etc.), with custom worksheet functions, such as xlpADD, xlpMULTIPLY, xlpISLESS, xlpMEDIAN, etc. These functions provide vastly greater precision than Excel's built-in mathematical operators.

Excel does not allow changing the behavior of its built-in operators and worksheet functions, so it is not possible for xlPrecision to apply high precision to your existing worksheet formulas. Using xlPrecision requires modifying your worksheet formulas by replacing Excel's built-in operators and functions with xlPrecision's custom worksheet functions. Of course, you only have to modify those formulas from which you want high precision.

For example, to get high precision from this worksheet formula:

        =2/3

You would need to change the formula to this:

        =xlpDIVIDE(2,3)

 

See the Function Reference for a complete list of xlPrecision functions and more information about using them.

 

Over 2,000 Times Higher Precision Than Excel

Without xlPrecision, Excel provides a maximum of 15 digits of precision, or "significant digits". For example, if you divide 67 by 89, the result is an infinite number of digits long. But Excel rounds it off to 15 significant digits:

    =67/89

0.752808988764045
 

xlPrecision provides up to 32,767 significant digits, more than 2,000 times more than Excel:

    =xlpDIVIDE(67,89)

0.75280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898
8764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943
8202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191
0112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550
5617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528
0898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404
4943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224
7191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235
9550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797
7528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887
640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910112359550561797752808988764044943820224719101123595505617977528089887640449438202247191011235955056179775280898876404494382022471910

But "significant digits" does not simply mean the number of decimal places. Significant digits is the quantity of digits from the left-most non-zero digit to the right-most non-zero digit. That series of digits can be anywhere relative to the decimal point. For example, if you multiply 987,654,321,098,765 by 123,456,789,012,345, the correct answer is an integer 30 digits long. Excel rounds it off to 15 digits:

    =987654321098765*123456789012345

121,932,631,137,021,000,000,000,000,000
 

xlPrecision provides all 30 digits:

    =xlpMULTIPLY("987654321098765","123456789012345")

121,932,631,137,021,071,359,549,253,925

 

Another edition of xlPrecision, with 2,147,483,648 (over TWO BILLION) significant digits, is also available. It is intended for use in your programming code rather than within Excel worksheets, as it can return more characters than Excel can accept in a worksheet cell. For more information about the 2,147,483,648 SD Edition, see the VBA page.

The 2,147,483,648 SD Edition was created at the request of a number theorist. For more information about number theory, see the Wikipedia Number Theory entry or Keith Matthews' Number Theory Web. The 2,147,483,648 SD Edition is also in use for combinatorics, another branch of pure mathematics.

 

No Rounding or Truncating to 15 Digits

Without xlPrecision, Excel truncates your numbers to 15 significant digits. For example, if you enter this number in Excel:

123456789123456789

Excel truncates it to this. Notice that Excel doesn't even round it correctly; instead it just replaces all digits after the 15th digit with zeros:

123456789123456000

Even if you preserve all the digits by typing a leading apostrophe or pre-formatting the cell as text, Excel still truncates it to 15 digits before doing any arithmetic or any other kind of numeric analysis. For example, if you type this into cell A1, including the leading apostrophe:

'123456789123456789

And enter this formula in cell A2:

    =A1+0

Excel returns this in cell A2:

123456789123456000

Excel truncated your number down to 15 digits to do even the simplest imaginable arithmetic operation, adding zero.
 

xlPrecision returns the correct number with no rounding or truncating:

    =xlpADD(A1,0.1)

123456789123456789.1

xlPrecision does NOT round or truncate your numbers in Excel. xlPrecision does its arithmetic and other numeric analysis in Excel using ALL the digits you type in, up to 32,767 digits per number.

 

No Binary Conversion Errors

xlPrecision also eliminates binary conversion errors, which often hide undetected until suddenly making a spreadsheet give an incorrect result. Like all other spreadsheet programs, Excel converts your numbers to binary before sending them to the microprocessor to do the arithmetic. But the conversion is often approximate. Then, when the microprocessor completes the arithmetic and returns the binary result, Excel converts it back to base 10. That conversion, too, is often approximate. Though each error is small, they can still cause incorrect spreadsheet results.

To see a simple example of a binary conversion error:

Subtract 1,000 from 1,000.8. The result looks like 0.8, but an error is hiding in there. To reveal the hidden error, right-click the cell, choose Format Cells, select the Number category on the Number tab, increase Decimal Places to 15 or more, and click OK. Now it says 0.799999999999955. That’s a binary conversion error. Formulas in dependent cells are given the incorrect number no matter how that cell is formatted.

    =1000.8-1000

0.799999999999955
(If you get 0.8, be sure to right-click the cell, choose Format Cells, select the Number category on the Number tab, increase Decimal Places to 15 or more, and click OK, revealing the real number stored and passed to other formulas that reference that cell.)
 

xlPrecision returns the correct number:

    =xlpSUBTRACT("1000.8","1000")

0.8

xlPrecision correctly returns EXACTLY 0.8. Other cells referencing that cell get EXACTLY 0.8 passed to them. xlPrecision NEVER introduces ANY binary conversion error.

 

Let's look at another example of a binary conversion error, this time taken from an xlPrecision customer's real, production worksheet

Consider these numbers in these cells:

Cell A1:  369822191056.433
Cell B1:  186119066638.207
Cell A2:  1172497857587.86
Cell B2:  590078724768.171

Let's get the Matrix Determinant of those numbers. If we use Excel's built-in MDETERM function, it looks like this:

MDETERM(A1:B2) = 1001890259.16931

But if we use xlPrecision's xlpMDETERM function, we get this:

xlpMDETERM(A1:B2) = 1022621167.827023

That's a difference of over 2%, easily enough for virtually any Excel user to be concerned about it.

On a square array of four cells, the Matrix Determinant formula looks like this:

(A1*B2)-(B1*A2)

Using Excel's built-in multiply and subtract operators returns this:

(A1*B2)-(B1*A2) = 1006632960

Excel's two multiplications return numbers that are different by only one digit:

A1*B2 = 218224206889551000000000
B1*A2 = 218224206889550000000000

Those two numbers are exactly 1000000000 apart. Subtracting them should result in 1000000000. But instead Excel returns 1006632960. The "6632960" is false precision due to binary conversion errors.

xlPrecision's two multiplications return numbers that are exactly correct:

xlpMULTIPLY(A1,B2) = 218224206889550878957503.194043
xlpMULTIPLY(B1,A2) = 218224206889549856336335.36702

xlpSUBTRACT gets the difference exactly correct, and exactly the same as xlpMDETERM's result:

1022621167.827023

Not only is Excel over 2% off, it can't even decide which wrong number to return!

 

Excel’s rounding functions can be used to mask some of Excel's binary conversion errors, but not all. And, since those functions are based on the rounded digit’s decimal place rather than on the number of significant digits, you can’t always be sure what rounding formula is needed. Even worse is trying to use Excel's "Precision as Displayed" feature to get around binary conversion errors, because that can cause errors in other parts of the spreadsheet and workbook, and requires constant monitoring of most formulas to make sure that as many digits are displayed as possible or as required, without showing a binary conversion error. xlPrecision is a much better solution to binary conversion errors than Excel's rounding functions or Excel's "Precision as Displayed" feature.

 

Binary conversion errors may seem small, but they are stealthy and cause unexpected problems without warning. During the Gulf War, a binary conversion error led to the deaths of 28 American soldiers (and around 100 injured) on February 25th, 1991 when an American Patriot missile failed to intercept an Iraqi SCUD missile headed toward their Army barracks. The error was caused by storing time in 1/10 second increments, with binary conversion errors on converting 0.1 to binary. Though each conversion error was tiny, the error accumulated enough to make the Patriot's navigation software miss the SCUD, which then reached its target. Never underestimate the insidious, destructive power of binary conversion errors.

 

Very Large & Very Small Numbers

xlPrecision lets you use vastly larger -- and vastly smaller -- numbers than you can with Excel alone.

The largest number Excel can accept, use, or return is 1.79769313486231E+308. This number is formatted in "scientific notation". "E+308" means "move the decimal 308 places to the right".

The largest number xlPrecision in Excel can accept, use, or return is 32,767 9's, which for comparison purposes here could be rounded off to 9.99999999999999E+32766.

That number is 32,458 digits longer than Excel's largest -- over 106 TIMES as many digits!

For example, if you enter this in cell A1:

    1.23E+308

And enter this formula in cell A2:

    =A1+A1

Excel returns an error ("#VALUE!"), because the sum is too large of a number for Excel.
 

xlPrecision returns the correct answer:

    =xlpADD(A1,A1,,,,TRUE)

2.46E+308

One example of what a difference this can make is that the largest factorial Excel can calculate is 170! (which is 307 digits long), because 171! would require too many (310) digits. xlPrecision can calculate factorials up to 9,273!, which is 32,764 digits long (9274! would require 32,768 digits).

 

The smallest number Excel can accept, use, or return is 2.2250738585072E-308. This number is formatted in "scientific notation". "E-308" means "move the decimal 308 places to the left".

xlPrecision's smallest number is 32,767 total characters long including the leading "0.", which in exponential notation is 1.00000000000000E-32765. That's 32,457 digits longer (and therefore that much closer to zero) than Excel's smallest, or again over 106 times as many digits.

If your spreadsheet calculations go beyond Excel's ability to store tiny numbers, Excel automatically and without warning converts the number to 0 instead of returning an error, as it correctly does if your spreadsheet calculations go beyond Excel's ability to store huge numbers. In addition to allowing vastly smaller numbers than Excel, xlPrecision does not convert to 0 if you exceed even xlPrecision's ability to use tiny numbers. Instead, xlPrecision correctly returns an error in that case.

For example, if you enter this in cell A1:

3.21E-308

And enter this formula in cell A2:

    =A1/10

Excel returns exactly zero in cell A2, because the result is too small of a number for Excel, and because Excel does not return an error as it should when the result is too small for Excel:

0.00E+00
 

xlPrecision returns the correct answer:

    =xlpDIVIDE(A1,10,,,,TRUE)

3.21E-309

And xlPrecision can get much closer to zero than that:

    =xlpDIVIDE(A1,"1E+32000",,,,TRUE)

3.21E-32308

That number is extremely closer to zero than Excel can go.

Just to show only one example of what a difference this can make, the largest factorial Excel can calculate is 170! (which is 307 digits long), because 171! would require too many (310) digits. xlPrecision can calculate factorials up to 9,273!, which is 32,764 digits long (9274! would require 32,768 digits).

 

Data Control & Analysis Features

xlPrecision offers many additional features that take you beyond Excel's capabilities in other ways. See Data Control & Analysis Features.

 

Internationalization

xlPrecision also provides:

This means that an xlPrecision formula that returns "$1,234,567.89" in the USA will return:

Of course, 1,234,567.89 US dollars is not the same amount of money as 1,234,567.89 Euros. However, this is how Microsoft Excel does it. By duplicating the way Microsoft Excel handles currency internationalization, xlPrecision allows you to internationalize currency in the same way you always have with Microsoft Excel.

You can see this on your computer by following these steps:

 

Use xlPrecision in VBA

xlPrecision's worksheet functions can also be used in Excel VBA (Visual Basic for Applications, Excel's programming language), as well as any other Automation (ActiveX, OLE, COM) client that can automate an Automation server. Here's how.

 

High Precision in Non-xlPrecision Functions

xlPrecision replaces mathematical operators, comparison operators, and built-in worksheet functions with custom worksheet functions. Other worksheet functions, whether built-in or provided by an add-in, do not use the xlPrecision worksheet functions, and so do not gain precision from them.

If you're building a cell formula that uses other worksheet functions, and use xlPrecision functions instead of operators in the formula, then you gain precision between those other functions, but not within them.

It's possible for add-in worksheet functions to use xlPrecision instead of operators. xlPrecision, once installed, includes a DLL that can be called by other programming code, including the programming code that is used to build add-in worksheet functions. If that code uses xlPrecision functions instead of mathematical operators, it can gain precision. Unless, of course, that same code also calls other functions that, in turn, use mathematical operators, at which point the extra precision is discarded.

Microsoft is unlikely to ever be interested in using xlPrecision to add high precision to Excel's built-in formulas. However, in a future version of xlPrecision I plan to duplicate all of the relevant built-in Excel functions with equivalent high-precision xlPrecision functions.

If you want high precision in custom functions provided by another Excel Add-In, you might want to contact the authors of that other Add-In and suggest that they use xlPrecision in a future version. For information on how the programming code that is used to build add-in worksheet functions can call xlPrecision functions to gain precision, click here.

 

Not an Excel Problem

Excel's limitation of 15 significant digits is not caused by Excel or Microsoft. All other spreadsheet programs, including Lotus 123 and Corel Quattro Pro, have the same limitation. The limitation is enforced by the microprocessor. All Intel, Intel-compatible, Macintosh, and UNIX microprocessors have the same limitation.

The 15 significant digit limitation is part of an industry standard called "IEEE 754", which was created to achieve faster processing by sacrificing precision. IEEE 754 was ratified in 1985, by which time it had already become a de facto standard.

xlPrecision does not use the microprocessor to perform arithmetic, except in cases where it can be 100% certain that IEEE 754 will have no effect and that no binary conversion error will occur, such as 5 x 5 = 25. As a result, the microprocessor is unable to require xlPrecision to adhere to IEEE 754. xlPrecision completely ignores IEEE 754.

 

Try the Free Edition

Ready to try the Free Edition of xlPrecision? You can use it for as long as you like. Download it here. Then, see the quick & easy Quick-Start Tutorial.

 

 

* Although xlPrecision currently works only with Microsoft Excel for Windows, versions for Lotus 123 and Corel Quattro Pro -- and for Macintosh -- are possible too, so let me know if you’re interested.

 

 

 

xlPrecision Home Page
PrecisionCalc Home Page

 

There are only 3 types of people in the world -- those who understand binary and those who don't.