# * Operator (Visual Basic)

**Visual Studio 2015**

Updated: July 20, 2015

For the latest documentation on Visual Studio 2017 RC, see Visual Studio 2017 RC Documentation.

Multiplies two numbers.

number1 * number2

Term | Definition |

`number1` | Required. Any numeric expression. |

`number2` | Required. Any numeric expression. |

The result is the product of `number1`

and `number2`

.

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

.

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.

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.

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.

*= Operator

Arithmetic Operators

Operator Precedence in Visual Basic

Operators Listed by Functionality

Arithmetic Operators in Visual Basic