Caché ObjectScript Reference
$ZDASCII
[Home] [Back] [Next]
InterSystems: The power behind what matters   
Class Reference   
Search:    

Converts an eight-byte string to a $DOUBLE floating point number.
Synopsis
$ZDASCII(string,position)
$ZDA(string,position)
Parameters
string A string or number. It can be a value, a variable, or an expression. It must be a minimum of eight bytes in length. A number is converted to canonical form by removing a leading plus sign, and leading and trailing zeros before it is supplied to $ZDASCII; the resulting canonical number must be a minimum of eight bytes in length.
position Optional — A starting position in the string, expressed as a positive, non-zero integer. The default is 1. Position is counted in single bytes, not eight-byte strings. There must exist at least eight bytes of string from the specified position (inclusive). A numeric position value is parsed as an integer by truncating decimal digits, removing leading zeros and plus signs, etc.
Description
The value that $ZDASCII returns depends on the parameters you use.
$ZDASCII can return either a positive or a negative number.
$ZDASCII issues a <FUNCTION> error if string is less than eight bytes in length, if the specified position results in a remaining string of less than eight bytes, or if position is an invalid value.
Examples
The following example determines the numeric interpretation of the numeric 12345678:
  WRITE $ZDASCII(12345678)
It returns: .000000000000000000000000000000000000068213200517013251261
The following examples also return the same value:
  WRITE !,$ZDASCII("12345678",1)
  WRITE !,$ZDASCII(++001234567899,1)
  WRITE !,$ZDASCII("++001234567899",5)
The following example determines the numeric interpretation of the negative numeric –1234567. Note that the minus sign is counted as a byte:
  WRITE $ZDASCII(-1234567)
It returns: .00000000000000000000000000000000000000000099583343788967399388
The following example determines the numeric interpretation of the character string “abcdefgh”:
  WRITE $ZDASCII("abcdefgh")
It returns: 85408832230361244356000000000000000000000000000000000000000000000000000
Notes
$ZDASCII and Other $ASCII Functions
$ZDASCII converts a eight byte (64-bit) character string to an IEEE floating point number. $ZQASCII converts a eight byte (64-bit) character string to an integer. To convert an 8-bit byte string to an integer use $ASCII. To convert a 16-bit (wide) character string to an integer use $ZWASCII. To convert a 32-bit (long) character string to an integer use $ZLASCII.
See Also