SADD(), SDIV(), SMUL(), SSUB()

SADD(), SDIV(), SMUL(), SSUB()

Top  Previous  Next

 

The SADD(), SDIV(), SMUL() and SSUB() functions perform arithmetic on numeric strings of any length.

 

 

Format

 

SADD(a, b)

SDIV(a, b {, r{, dp}})

SMUL(a, b)

SSUB(a, b)

 

where

 

a, bare numeric strings.

 

ris the variable to receive the remainder as a numeric string.

 

dpis the number of decimal places for the calculated result.

 

These four functions perform addition, division, multiplication and subtraction respectively. The values passed in as arguments a and b must be strings that contain only digits with an optional leading minus sign and/or decimal point. The behaviour of these functions with a malformed numeric string is undefined.

 

The returned value will be a numeric string. Trailing zeroes after the decimal point are removed.

 

The SDIV() function has two optional arguments. The third argument, r, is used to return the remainder as a numeric string. The fourth argument, dp, specifies the precision as the maximum number of decimal places to appear in the result, defaulting to zero if omitted. If dp is to be specified but the remainder value is not required, the third argument can specified as a meaningless constant value such as zero or a null string. The SDIV() function truncates excess decimal places without rounding.

 

 

Examples

 

DISPLAY SADD('12345678901234567890', '99999888887777766666')

DISPLAY SSUB('12345678901234567890', '987654321')

DISPLAY SMUL('12345678901234567890', '99999888887777766666')

DISPLAY SMUL('123.456', '17.81')

 

The above four display statements produce:

112345567789012334556

12345678900246913569

1234566518367639093641977791581755954740

2198.75136

 

DISPLAY SDIV('12345678901234567890', '987654321', R) :  ',  Remainder ' : R

DISPLAY SDIV('335', '113', R, 6)

 

The above two statements produce

12499999887, Remainder 339506163

3.141592

 

 
See also:

SCMP()