This documentation is archived and is not being maintained.

.NET Framework 1.1

```[Visual Basic]
[C#]
public static decimal operator +(
decimal d1,
decimal d2
);
[C++]
Decimal d1,
Decimal d2
);
[JScript]
returnValue = d1 + d2;```

[Visual Basic] In Visual Basic, you can use the operators defined by a type, but you cannot define your own. You can use the Add method instead of the Decimal addition operator.

[JScript] In JScript, you can use the operators defined by a type, but you cannot define your own.

d1
A Decimal.
d2
A Decimal.

d1
A Decimal.
d2
A Decimal.

#### Return Value

The Decimal result of adding d1 and d2.

#### Exceptions

Exception Type Condition
OverflowException The return value is less than MinValue or greater than MaxValue.

#### Example

[Visual Basic, C#, C++] The following code example creates several pairs of Decimal values and calculates their sums with the Addition operator.

```[Visual Basic]
' Example of the Decimal addition and subtraction operators.
Imports System
Imports Microsoft.VisualBasic

Const dataFmt As String = "{0,-38}{1,31}"

' Display Decimal parameters and their sum and difference.
Sub ShowDecimalSumDiff( Left as Decimal, Right as Decimal )

Console.WriteLine( )
Console.WriteLine( dataFmt, "Decimal Left", Left )
Console.WriteLine( dataFmt, "Decimal Right", Right )

' The op_Addition and op_Subtraction operators must be
' explicitely coded in Visual Basic. If binary + or - are
' used, other methods are called.
Console.WriteLine( dataFmt, _
Console.WriteLine( dataFmt, _
"Decimal.op_Subtraction( Left, Right )", _
Decimal.op_Subtraction( Left, Right ) )
End Sub

Sub Main( )
Console.WriteLine( _
"This example of the Decimal addition and " & _
"subtraction operators " & vbCrLf & "generates the " & _
"following output. It displays the sum and " & vbCrLf & _
"difference of several pairs of Decimal objects." )

' Create pairs of Decimal objects.
ShowDecimalSumDiff( _
new Decimal( 1230000000, 0, 0, False, 7 ), _
0.0012300D )
ShowDecimalSumDiff( 123.456789D, 0.006789D )
ShowDecimalSumDiff( 12345678900000000D, _
0.00000000123456789D )
ShowDecimalSumDiff( 123456789.0123456789D, _
123456789.1123456789D )
End Sub
End Module

' This example of the Decimal addition and subtraction operators
' generates the following output. It displays the sum and
' difference of several pairs of Decimal objects.
'
' Decimal Left                                              123.0000000
' Decimal Right                                                 0.00123
' Decimal.op_Addition( Left, Right )                        123.0012300
' Decimal.op_Subtraction( Left, Right )                     122.9987700
'
' Decimal Left                                               123.456789
' Decimal Right                                                0.006789
' Decimal.op_Addition( Left, Right )                         123.463578
' Decimal.op_Subtraction( Left, Right )                      123.450000
'
' Decimal Left                                        12345678900000000
' Decimal Right                                     0.00000000123456789
' Decimal.op_Addition( Left, Right )     12345678900000000.000000001235
' Decimal.op_Subtraction( Left, Right )  12345678899999999.999999998765
'
' Decimal Left                                     123456789.0123456789
' Decimal Right                                    123456789.1123456789
' Decimal.op_Addition( Left, Right )               246913578.1246913578
' Decimal.op_Subtraction( Left, Right )                   -0.1000000000

[C#]
// Example of the decimal addition and subtraction operators.
using System;

{
const string dataFmt = "   {0,-18}{1,31}" ;

// Display decimal parameters and their sum and difference.
static void ShowDecimalSumDiff( decimal Left, decimal Right )
{
Console.WriteLine( );
Console.WriteLine( dataFmt, "decimal Left", Left );
Console.WriteLine( dataFmt, "decimal Right", Right );
Console.WriteLine( dataFmt, "Left + Right",
Left + Right );
Console.WriteLine( dataFmt, "Left - Right",
Left - Right );
}

static void Main( )
{
Console.WriteLine( "This example of the decimal " +
"addition and subtraction operators \ngenerates the " +
"following output. It displays the sum and \n" +
"difference of several pairs of decimal objects."  );

// Create pairs of decimal objects.
ShowDecimalSumDiff(
new decimal( 1230000000, 0, 0, false, 7 ),
0.0012300M );
ShowDecimalSumDiff( 123.456789M, 0.006789M );
ShowDecimalSumDiff( 12345678900000000M,
0.00000000123456789M );
ShowDecimalSumDiff( 123456789.0123456789M,
123456789.1123456789M );
}
}

/*
This example of the decimal addition and subtraction operators
generates the following output. It displays the sum and
difference of several pairs of decimal objects.

decimal Left                          123.0000000
decimal Right                           0.0012300
Left + Right                          123.0012300
Left - Right                          122.9987700

decimal Left                           123.456789
decimal Right                            0.006789
Left + Right                           123.463578
Left - Right                           123.450000

decimal Left                    12345678900000000
decimal Right                 0.00000000123456789
Left + Right       12345678900000000.000000001235
Left - Right       12345678899999999.999999998765

decimal Left                 123456789.0123456789
decimal Right                123456789.1123456789
Left + Right                 246913578.1246913578
Left - Right                        -0.1000000000
*/

[C++]
// Example of the Decimal addition and subtraction operators.
#using <mscorlib.dll>
using namespace System;

// Display Decimal parameters and their sum and difference.
void ShowDecimalSumDiff( Decimal Left, Decimal Right )
{
String* dataFmt = S"   {0,-18}{1,31}" ;

Console::WriteLine( );
Console::WriteLine( dataFmt, S"Decimal Left", __box( Left ) );
Console::WriteLine( dataFmt, S"Decimal Right", __box( Right ) );
Console::WriteLine( dataFmt, S"Left + Right",
__box( Left + Right ) );
Console::WriteLine( dataFmt, S"Left - Right",
__box( Left - Right ) );
}

void main( )
{
Console::WriteLine( S"This example of the Decimal "
S"addition and subtraction operators \ngenerates the "
S"following output. It displays the sum and \n"
S"difference of several pairs of Decimal objects." );

// Create pairs of Decimal objects.
ShowDecimalSumDiff(
Decimal( 1230000000, 0, 0, false, 7 ),
Decimal::Parse( S"0.0012300" ) );
ShowDecimalSumDiff( Decimal::Parse( S"123.456789" ),
Decimal::Parse( S"0.006789" ) );
ShowDecimalSumDiff( Decimal::Parse( S"12345678900000000" ),
Decimal::Parse( S"0.00000000123456789" ) );
ShowDecimalSumDiff( Decimal::Parse( S"123456789.0123456789" ),
Decimal::Parse( S"123456789.1123456789" ) );
}

/*
This example of the Decimal addition and subtraction operators
generates the following output. It displays the sum and
difference of several pairs of Decimal objects.

Decimal Left                          123.0000000
Decimal Right                           0.0012300
Left + Right                          123.0012300
Left - Right                          122.9987700

Decimal Left                           123.456789
Decimal Right                            0.006789
Left + Right                           123.463578
Left - Right                           123.450000

Decimal Left                    12345678900000000
Decimal Right                 0.00000000123456789
Left + Right       12345678900000000.000000001235
Left - Right       12345678899999999.999999998765

Decimal Left                 123456789.0123456789
Decimal Right                123456789.1123456789
Left + Right                 246913578.1246913578
Left - Right                        -0.1000000000
*/
```

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button in the upper-left corner of the page.

#### Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework, Common Language Infrastructure (CLI) Standard