Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The * operator returns the product of its two operands.
-
multiplication-operator-expression = expression "*" expression
Static semantics:
§ A * operator expression has the standard static semantics for binary arithmetic operators (section 5.6.9.3) with the following exceptions when determining the operator’s declared type:
|
Left Operand Declared Type |
Right Operand Declared Type |
Operator Declared Type |
|---|---|---|
|
Currency |
Single, Double, String or String * length |
Double |
|
Single, Double, String or String * length |
Currency |
Double |
|
Date |
Any numeric type, String, String * length or Date |
Double |
|
Any numeric type, String, String * length or Date |
Date |
Double |
Runtime semantics:
§ A * operator expression has the standard runtime semantics for binary arithmetic operators (section 5.6.9.3) with the following exceptions when determining the operator’s effective value type:
|
Left Operand Value Type |
Right Operand Value Type |
Effective Value Type |
|---|---|---|
|
Currency |
Single, Double or String |
Double |
|
Single, Double or String |
Currency |
Double |
|
Date |
Any integral or floating-point numeric type, Currency, String, Date or Empty |
|
|
Any integral or floating-point numeric type, Currency, String, Date or Empty |
Date |
|
§ The semantics of the * operator depend on the operator’s effective value type:
|
Effective Value Type |
Runtime Semantics |
|---|---|
|
Byte, Integer, Long, LongLong, Currency or Decimal |
The result is the left operand multiplied with the right operand. |
|
Single or Double |
The result is the left operand multiplied with the right operand.
If this results in multiplying positive or negative infinity by 0, runtime error 6 (Overflow) is raised. In this case, if this expression was within the right-hand side of a Let assignment and both operands have a declared type of Double, the resulting IEEE 754 Double special value (such as positive/negative infinity or NaN) is assigned before raising the runtime error. |
|
Null |
The result is the value Null. |