* Operator (Visual Basic)

Multiplies two numbers.

number1 * number2


  • number1
    Required. Any numeric expression.

  • number2
    Required. Any numeric expression.


The result is the product of number1 and number2.

Supported Types

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


Both expressions are 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)


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.

See Also


Arithmetic Operators in Visual Basic


*= Operator (Visual Basic)

Arithmetic Operators (Visual Basic)

Operator Precedence in Visual Basic

Operators Listed by Functionality