# * Operator (Visual Basic)

Multiplies two numbers.

## Syntax

```
number1 * number2
```

## Parts

Term | Definition |
---|---|

`number1` |
Required. Any numeric expression. |

`number2` |
Required. Any numeric expression. |

## Result

The result is the product of `number1`

and `number2`

.

## Supported Types

All numeric types, including the unsigned and floating-point types and `Decimal`

.

## Remarks

The data type of the result depends on the types of the operands. The following table shows how the data type of the result is determined.

Operand data types | Result data type |
---|---|

Both expressions are integral data types (SByte, Byte, Short, UShort, Integer, UInteger, Long, ULong) | A numeric data type appropriate for the data types of `number1` and `number2` . See the "Integer Arithmetic" tables in Data Types of Operator Results. |

Both expressions are Decimal | `Decimal` |

Both expressions are Single | `Single` |

Either expression is a floating-point data type (`Single` or Double) but not both `Single` (note `Decimal` is not a floating-point data type) |
`Double` |

If an expression evaluates to Nothing, it is treated as zero.

## Overloading

The `*`

operator can be *overloaded*, which means that a class or structure can redefine its behavior when an operand has the type of that class or structure. If your code uses this operator on such a class or structure, be sure you understand its redefined behavior. For more information, see Operator Procedures.

## Example

This example uses the `*`

operator to multiply two numbers. The result is the product of the two operands.

```
Dim testValue As Double
testValue = 2 * 2
' The preceding statement sets testValue to 4.
testValue = 459.35 * 334.9
' The preceding statement sets testValue to 153836.315.
```

## See Also

*= Operator

Arithmetic Operators

Operator Precedence in Visual Basic

Operators Listed by Functionality

Arithmetic Operators in Visual Basic