Skip to main content

This is documentation for Caché & Ensemble.

For information on converting to InterSystems IRIS, see the InterSystems IRIS Adoption Guide and the InterSystems IRIS In-Place Conversion Guide, both available on the WRC Distributions page (login required).

Previous sectionNext section


Returns the trigonometric tangent of the specified angle value.




Argument Description
n An angle in radians ranging from Pi to 2 Pi (inclusive). Other supplied numeric values are converted to a value within this range.


$ZTAN returns the trigonometric tangent of n. The result is a signed decimal number.


$ZTAN (like all trigonometric functions) calculates its values based on pi rounded to the number of available decimal digits. Therefore, the value returned by $ZTAN($ZPI) is –.000000000000000000462644 and $ZTAN(–$ZPI) is .000000000000000000462644. For this reason you should not perform limit tests comparing these returned values to 0. $ZTAN(0) is 0.



An angle in radians ranging from 0 to 2 Pi. It can be specified as a value, a variable, or an expression.

A non-numeric string is evaluated as 0.


The following example permits you to compute the tangent of a number:

   READ "Input a number: ",num
   WRITE !,"the tangent is: ",$ZTAN(num)
Copy code to clipboard

The following example compares the results from Caché fractional numbers ($DECIMAL numbers) and $DOUBLE numbers. In both cases, the tangent of 0 is exactly 0, but the tangent of pi is a negative fractional number (not exactly 0):

  WRITE !,"the tangent is: ",$ZTAN(0.0)
  WRITE !,"the tangent is: ",$ZTAN($DOUBLE(0.0))
  WRITE !,"the tangent is: ",$ZTAN($ZPI)
  WRITE !,"the tangent is: ",$ZTAN($DOUBLE($ZPI))
  WRITE !,"the tangent is: ",$ZTAN(1.0)
  WRITE !,"the tangent is: ",$ZTAN($DOUBLE(1.0))
Copy code to clipboard

See Also