* and *= operators
Used to multiply two numbers. The compound form *= multiplies-and-assigns in one step.
Syntax:
result = number1 * number2
variable *= number (twinBASIC)
- result
- Any numeric variable.
- variable
- (twinBASIC) Any numeric variable or writable property.
- number, number1, number2
- Any numeric expressions.
The data type of result is usually the same as that of the most precise expression. The order of precision, from least to most precise, is Byte, Integer, Long, LongLong, Single, Currency, Double. The following are exceptions:
| If | Then result is |
|---|---|
| Multiplication involves a Single and a Long | Converted to a Double. |
| result is a Long, Single, or Date variant that overflows its legal range | Converted to a Variant containing a Double. |
| result is a Byte variant that overflows its legal range | Converted to an Integer variant. |
| result is an Integer variant that overflows its legal range | Converted to a Long variant. |
If one or both expressions are Null expressions, result is Null. If an expression is Empty, it is treated as 0.
Note
The order of precision used by multiplication is not the same as the order of precision used by addition and subtraction.
Compound assignment
x *= y is the twinBASIC shorthand for x = x * y. The left-hand side is evaluated once; the result follows the same type-promotion and Null / Empty rules described above. *= is a statement, not an expression — it does not produce a value.
Dim Value As Long = 3
Value *= 4 ' Value is now 12.
Value *= 2 ' Value is now 24.
Example
This example uses the * operator to multiply two numbers.
Dim MyValue
MyValue = 2 * 2 ' Returns 4.
MyValue = 459.35 * 334.90 ' Returns 153836.315.