Caché MultiValue Basic Reference
SDIV


Divides two numeric strings.
Synopsis
The
SDIV function divides
numstr1 by
numstr2 and returns the quotient. The two numeric values can be expressed as either numbers or as strings. Leading plus signs and leading and trailing zeros are ignored. A string is parsed as a number until a nonnumeric character is encountered. Thus “7dwarves” is parsed as 7. Nonnumeric strings and null strings are parsed as 0.
Attempting to divide by zero generates a <DIVIDE> error, ending execution of the function and invoking an error trap handler, if available.
For compatibility, a third numeric argument is accepted, but ignored.

To perform arithmetic operations on numeric strings, use the
SADD,
SSUB,
SMUL, and
SDIV functions.

To perform arithmetic operations on floating point numbers, use the
FADD,
FSUB,
FMUL, and
FDIV functions, or use the standard arithmetic operators.

To perform integer division, use the
DIV function. To perform modulo division, use the
MOD function.

To perform arithmetic operations on corresponding elements of dynamic arrays, use the
ADDS,
SUBS,
MULS,
DIVS, and
MODS functions.

To perform numeric comparison operations, use the
SCMP function, or use the standard comparison operators.
The following examples use the
SDIV function to divide a numeric string by another numeric string. All of these examples return 2.333333333:
PRINT SDIV(7,3)
PRINT SDIV("7","3")
PRINT SDIV("+7.00","003")
PRINT SDIV("7dwarves","3wishes")
All of the following examples return 0:
PRINT SDIV(0,7)
PRINT SDIV("","0")
PRINT SDIV("seven","3")
All of the following examples generate a <DIVIDE> error:
PRINT SDIV(7,0)
PRINT SDIV("7","")
PRINT SDIV("7","three")