.NET Framework Class Library
Decimal.Subtraction Operator
Subtracts two specified Decimal values.
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
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 SP1Portable Class Library
Supported in: Portable Class LibraryPlatforms
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