Decimal.Subtraction Operator (System)

Switch View :
ScriptFree
.NET Framework Class Library
Decimal.Subtraction Operator

Subtracts two specified Decimal values.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)
Syntax

Visual Basic
Public Shared Operator - ( _
	d1 As Decimal, _
	d2 As Decimal _
) As Decimal
C#
public static decimal operator -(
	decimal d1,
	decimal d2
)
Visual C++
public:
static Decimal operator -(
	Decimal d1, 
	Decimal d2
)
F#
static let inline (-)
        d1:decimal * 
        d2:decimal  : decimal

Parameters

d1
Type: System.Decimal
The minuend.
d2
Type: System.Decimal
The subtrahend.

Return Value

Type: System.Decimal
The result of subtracting d2 from d1.
Exceptions

Exception Condition
OverflowException

The return value is less than MinValue or greater than MaxValue.

Examples

The following code example creates several pairs of Decimal values and calculates their differences with the Subtraction operator.

Visual Basic

' Example of the Decimal addition and subtraction operators.
Imports System
Imports Microsoft.VisualBasic

Module DecimalAddSubOpsDemo

    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, _
            "Decimal.op_Addition( Left, Right )", _
            Decimal.op_Addition( Left, Right ) )
        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;

class DecimalAddSubOpsDemo
{
    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
*/ 


Visual C++

// Example of the Decimal addition and subtraction operators.
using namespace System;

// Display Decimal parameters and their sum and difference.
void ShowDecimalSumDiff( Decimal Left, Decimal Right )
{
   String^ dataFmt = "   {0,-18}{1,31}";
   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 );
}

int 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( Decimal(1230000000,0,0,false,7), Decimal::Parse( "0.0012300" ) );
   ShowDecimalSumDiff( Decimal::Parse( "123.456789" ), Decimal::Parse( "0.006789" ) );
   ShowDecimalSumDiff( Decimal::Parse( "12345678900000000" ), Decimal::Parse( "0.00000000123456789" ) );
   ShowDecimalSumDiff( Decimal::Parse( "123456789.0123456789" ), Decimal::Parse( "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
*/


Version Information

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library
Platforms

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
See Also

Reference