The EGL Decimal type is a value type if declared with parameters and is a non-instantiable reference type if declared without parameters. The type lets you create a packed decimal value. In Eclipse IDE for EGL Developers, the type definition for Decimal is EDecimal.
eglx.lang
result Decimal(4,2) = 10.43; result02 Decimal(4) = 10.43;
/**
* EDecimal defines the EGL decimal type.
*/
externalType EDecimal extends ENumber type ParameterizableType {
parameterizedType = FixedPrecisionType}
/**
* {@Operation +} A unary plus (has no effect on the numeric value).
*/
static function $Plus(value EDecimal in)
returns (EDecimal) {@Operation{"+"}};
/**
* {@Operation +} Adds two numbers.
*/
static function $Plus(lvalue EDecimal in, rvalue EDecimal in)
returns (EDecimal) {@Operation{"+"}};
/**
* {@Operation -} Negates the value.
*/
static function $Minus(value EDecimal in)
returns (EDecimal) {@Operation{"-"}};
/**
* {@Operation -} Subtracts one number from another.
*/
static function $Minus(lvalue EDecimal in, rvalue EDecimal in)
returns (EDecimal) {@Operation{"-"}};
/**
* {@Operation *} Multiplies two numbers.
*/
static function $Multiply(lvalue EDecimal in, rvalue EDecimal in)
returns (EDecimal) {@Operation{"*"}};
/**
* {@Operation /} Divides one number by another.
*/
static function $Divide(lvalue EDecimal in, rvalue EDecimal in)
returns (EDecimal) {@Operation{"/"}};
/**
* {@Operation %} Computes the remainder of dividing one number by another.
*/
static function $Modulo(lvalue EDecimal in, rvalue EDecimal in)
returns (EDecimal) {@Operation{"%"}};
/**
* {@Operation **} Computes lvalue to the power of rvalue.
*/
static function $PowerOf(lvalue EDecimal in, rvalue EDecimal in)
returns (EFloat) {@Operation{"**"}};
/**
* {@Operation <} Compares two numbers.
*/
static function $LT(lvalue EDecimal in, rvalue EDecimal in)
returns (EBoolean) {@Operation{"<"}};
/**
* {@Operation >} Compares two numbers.
*/
static function $GT(lvalue EDecimal in, rvalue EDecimal in)
returns (EBoolean) {@Operation{">"}};
/**
* {@Operation <=} Compares two numbers.
*/
static function $LTE(lvalue EDecimal in, rvalue EDecimal in)
returns (EBoolean) {@Operation{"<="}};
/**
* {@Operation >=} Compares two numbers.
*/
static function $GTE(lvalue EDecimal in, rvalue EDecimal in)
returns (EBoolean) {@Operation{">="}};
/**
* {@Operation ==} Compares two numbers.
*/
static function $EQ(lvalue EDecimal in, rvalue EDecimal in)
returns(EBoolean) {@Operation{"=="}};
/**
* {@Operation !=} Compares two numbers.
*/
static function $NEQ(lvalue EDecimal in, rvalue EDecimal in)
returns(EBoolean) {@Operation{"!="}};
/**
* {@Operation widen} Converts a bigint to a decimal of arbitrary precision.
*/
static function asDecimal(value EBigint in)
returns(EDecimal) {@Operation{"widen"}};
/**
* {@Operation narrow} Converts a bigint to a decimal with the specified precision.
*
* @throws TypeCastException if the value can't be represented with the specified precision.
*/
static function asDecimal(value EBigint in, length EInt in, decimals EInt in)
returns(EDecimal) {@Operation{"narrow"}};
/**
* {@Operation narrow} Converts any decimal to a decimal with the specified precision.
*
* @throws TypeCastException if the value can't be represented with the specified precision.
*/
static function asDecimal(value EDecimal in, length EInt in, decimals EInt in)
returns(EDecimal) {@Operation{"narrow"}};
/**
* {@Operation widen} Converts a smallint to a decimal of arbitrary precision.
*/
static function asDecimal(value ESmallint in)
returns(EDecimal) {@Operation{"widen"}};
/**
* {@Operation narrow} Converts a smallint to a decimal with the specified precision.
*
* @throws TypeCastException if the value can't be represented with the specified precision.
*/
static function asDecimal(value ESmallint in, length EInt in, decimals EInt in)
returns(EDecimal) {@Operation{"narrow"}};
/**
* {@Operation narrow} Converts a smallfloat to a decimal of arbitrary precision.
*
* @throws TypeCastException if the value is out of range.
*/
static function asDecimal(value ESmallfloat in)
returns(EDecimal) {@Operation{"narrow"}};
/**
* {@Operation narrow} Converts a smallfloat to a decimal with the specified precision.
*
* @throws TypeCastException if the value can't be represented with the specified precision.
*/
static function asDecimal(value ESmallfloat in, length EInt in, decimals EInt in)
returns(EDecimal) {@Operation{"narrow"}};
/**
* {@Operation widen} Converts an int to a decimal of arbitrary precision.
*/
static function asDecimal(value EInt in)
returns(EDecimal) {@Operation{"widen"}};
/**
* {@Operation narrow} Converts an int to a decimal with the specified precision.
*
* @throws TypeCastException if the value can't be represented with the specified precision.
*/
static function asDecimal(value EInt in, length EInt in, decimals EInt in)
returns(EDecimal) {@Operation{"narrow"}};
/**
* {@Operation narrow} Converts a float to a decimal of arbitrary precision.
*
* @throws TypeCastException if the value is out of range.
*/
static function asDecimal(value EFloat in)
returns(EDecimal) {@Operation{"narrow"}};
/**
* {@Operation narrow} Converts a float to a decimal with the specified precision.
*
* @throws TypeCastException if the value is out of range.
*/
static function asDecimal(value EFloat in, length EInt in, decimals EInt in)
returns(EDecimal) {@Operation{"narrow"}};
/**
* {@Operation narrow} Converts a string to a decimal. The string is parsed
* as follows: It may begin with an optional + or - sign. After the sign there
* must be a sequence of one or more digit characters. They may be followed by
* a decimal point (a period) and one or more digit characters.
*
* @throws TypeCastException if the string can't be parsed into a decimal.
*/
static function asDecimal(value EString in)
returns(EDecimal) {@Operation{"narrow"}};
static function asDecimal(value EString in, length EInt in, decimals EInt in)
returns(EDecimal) {@Operation{"narrow"}};
static function asDecimal(value ENumber in)
returns(EDecimal) {@Operation{"narrow"}};
/**
* {@Operation widen} Converts a decimal to a number.
*/
static function asNumber(value EDecimal in)
returns(ENumber) {@Operation{"widen"}};
end
| Target | Issue |
|---|---|
| Java | No issues. |
| JavaScript | No issues. |