Whatever message this page gives is out now! Go check it out!

PrecisionEvaluate

Last update:
May 18, 2026

Description

Evaluates one or more string expressions, dynamically, from left to right, using BigDecimal precision arithmetic to calculate the values of arbitrary precision arithmetic expressions.

Returns

An object; the result of the evaluations.

Category

Function syntax

PrecisionEvaluate(string_expression1 [, string_expression2 , ... ])

See also

EvaluateUsing Expressions and Number Signs in the Developing ColdFusion Applications

Parameters

Parameter
Description
string_expression1, string_expression2...
Expressions to evaluate

Usage

The PrecisionEvaluate function lets you calculate arbitrarily long decimal (BigDecimal precision) values. BigDecimal precision arithmetic accepts and generates decimal numbers of any length, and does not use exponential notation. The PrecisionEvaluate function calculates arbitrary precision results only for addition, subtraction, multiplication, and division. If you use any of the following operations, ColdFusion performs normal integer or floating point arithmetic and does not return BigDecimal values.
  • exponentiation (^)
  • modulus (MOD or %)
  • integer division (tick) This function differs from the Evaluatefunction only in its use of BigDecimal precision arithmetic to calculate numeric values; otherwise the two functions are identical. The results of an evaluation on the left can have meaning in an expression to the right, and the function returns the result of evaluating the rightmost expression. If a string expression contains a single- or double-quotation mark, the mark must be escaped.If an expression, such as 1/3, results in an infinitely repeating decimal value, ColdFusion limits the decimal part to 20 digits.
    Note: To increase processing efficiency, do not put the arithmetic expressions to evaluate in quotation marks ("). ColdFusion compiles PrecisionEvaluate(a*b) more efficiently than it compiles PrecisionEvaluate("a*b"), although both formats produce the same results.

Example

<cfscript>
    num1=5
    num2=(3/8)
    writeOutput("The resultant expression is: " & precisionEvaluate(num1/num2))
</cfscript>
Output
The resultant expression is: 13.33333333333333333333

Share this page

Was this page helpful?
We're glad. Tell us how this page helped.
We're sorry. Can you tell us what didn't work for you?
Thank you for your feedback. Your response will help improve this page.

On this page