POWER Function (NUMBERS)
Raises
a number to a power. For instance you can use this function to square the
number 2 to get the result, 4.
NewNumber := POWER(Number, Power)
Example
Text constant
|
ENU value
|
Text000
|
'%1
raised to the power of %2 = %3'
|
Text001
|
'%1
raised to the power of %2 = %3'
|
Text002
|
'%1
raised to the power of %2 = %3'
|
Number1 := 2; Power1 := 8;
Number2 := 100; Power2 := 0;Number3 := 5; Power3 := 0.5;
Res1 := POWER(Number1, Power1);
Res2 := POWER(Number2, Power2);
Res3 := POWER(Number3, Power3);
MESSAGE(Text000, Number1, Power1, Res1)
MESSAGE(Text001, Number2, Power2, Res2);
MESSAGE(Text001, Number3, Power3, Res3);
The
message windows display the following:
2
raised to the power of 8 = 256
100
raised to the power 0 = 1
5
raised to the power of 0.5 = 2.2360679775
The last message window shows that raising a number to the power
of 0.5 corresponds to the square root of the number.
ROUND Function (NUMBERS)
Rounds
the value of a numeric variable.
NewNumber := ROUND(Number [, Precision] [, Direction])
Example
DecimalToRound := 1234.56789;
Direction := '>';
Precision := 0.001;
Result := ROUND(DecimalToRound, Precision, Direction);
MESSAGE('ROUND(%1, %2, %3) returns %4',DecimalToRound,
Precision, Direction, Result);
The message window displays the following:
ROUND(1,234.56789, 0.001, >) returns 1,234.568
The following table displays some additional ROUND
examples.
Number
|
Precision
|
Direction
|
Rounded number
|
1234.56789
|
100
|
=
|
1200
|
1234.56789
|
0.1
|
=
|
1234.6
|
1234.56789
|
0.001
|
=
|
1234.568
|
1234.56789
|
0.001
|
<
|
1234.567
|
1234.56789
|
0.001
|
>
|
1234.568
|
-1234.56789
|
100
|
=
|
-1200
|
-1234.56789
|
0.1
|
=
|
-1234.6
|
-1234.56789
|
0.001
|
=
|
-1234.568
|
-1234.56789
|
0.001
|
<
|
-1234.567
|
-1234.56789
|
0.001
|
>
|
-1234.568
|
·
When you round down ('<') a negative number,
the following occurs: -1234.56789 is rounded down to -1234.567. However,
-1234.567 is a mathematically greater value than -1234.56789.
·
When you round up ('>') a negative number, the
following occurs: -1234.56789 is rounded up to -1234.568. However, -1234.568 is
a mathematically smaller value than -1234.56789.
RANDOM Function (NUMBERS)
Returns a pseudo-random number.
Number := RANDOM(MaxNumber)
·
If MaxNumber is negative it acts as a positive.
·
If MaxNumber is zero this function always
returns 1.
·
A number is always chosen from the same set of
numbers. Use RANDOMIZE Function (NUMBERS) to
generate a new set of numbers.
ABS Function (NUMBERS)
Calculates the absolute value of a number (Decimal,
Integer or BigInteger). ABS always returns a positive numeric value or zero.
NewNumber := ABS(Number)
|
Example
x :=-10.235; // x is assigned a negative value
y := ABS(x); // y is assigned the value of x without sign
MESSAGE('x = %1, y = %2', x, y); -> x = -10.235, y = 10.235
EVALUATE Function (VARIABLE)
Evaluates a string representation of a value into its
normal representation. The result is assigned to a variable.
[Ok :=] EVALUATE(Variable, String[, Number])
Example
Text constant
|
ENU value
|
Text000
|
'VarInteger = #1######, and the return code is: %2\'
|
Text001
|
'VarDate = #3######, and the return code is: %4\'
|
Text002
|
'VarYesNo = #5######, and the return code is: %6'
|
Value := '010196';
Ok1 := EVALUATE(VarInteger, Value);
Ok2 := EVALUATE(VarDate, Value);
Ok3 := EVALUATE(VarYesNo, Value);
MESSAGE(Text000 + Text001 + Text002, VarInteger, Ok1, VarDate, Ok2, VarYesNo, Ok3)
The message window displays the following:
VarInteger = 10196 , and the return code is: Yes
VarDate = 01/01/96, and the return code is: Yes
VarYesNo = No , and the return code is: No
This example shows that while
Value ('010196') can be interpreted as both an integer and a date expression,
it cannot be interpreted as a Boolean expression. This causes an error, shown
in the return code Ok3 (=FALSE).
No comments:
Post a Comment