This documentation is archived and is not being maintained.

# Decimal.op_Modulus Method

.NET Framework 2.0

Returns the remainder resulting from dividing two specified Decimal values.

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

## Syntax

```'Declaration
Public Shared Operator Mod ( _
d1 As Decimal, _
d2 As Decimal _
) As Decimal
'Usage
Dim d1 As Decimal
Dim d2 As Decimal
Dim returnValue As Decimal

returnValue = (d1 Mod d2)
```
```J# does not support overloaded operators.
```
```JScript supports the use of overloaded operators, but not the declaration of new ones.
```

#### Parameters

d1

A Decimal (the dividend).

d2

A Decimal (the divisor).

#### Return Value

The Decimal remainder resulting from dividing d1 by d2.

## Exceptions

Exception typeCondition

DivideByZeroException

d2 is zero.

OverflowException

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

## Example

The following code example creates several pairs of Decimal values and calculates the remainders resulting from dividing the two values with the Modulus operator.

```' Example of the Decimal multiplication, division, and modulus
' operators.
Imports System
Imports Microsoft.VisualBasic

Module DecimalMulDivRemOpsDemo

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

' Display Decimal parameters and their product, quotient, and
' remainder.
Sub ShowDecimalProQuoRem( Left as Decimal, Right as Decimal )

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

' The op_Multiply, op_Division, and op_Modulus operators must
' be explicitly coded in Visual Basic. If binary *, /, or
' Mod are used, other methods are called.
Console.WriteLine( dataFmt, _
"Decimal.op_Multiply( Left, Right )", _
Decimal.op_Multiply( Left, Right ) )
Console.WriteLine( dataFmt, _
"Decimal.op_Division( Left, Right )", _
Decimal.op_Division( Left, Right ) )
Console.WriteLine( dataFmt, _
"Decimal.op_Modulus( Left, Right )", _
Decimal.op_Modulus( Left, Right ) )
End Sub

Sub Main( )
Console.WriteLine( _
"This example of the Decimal multiplication, " & _
"division, and modulus " & vbCrLf & "operators " & _
"generates the following output. It displays the " & _
"product, " & vbCrLf & "quotient, and remainder of " & _
"several pairs of Decimal objects." )

' Create pairs of Decimal objects.
ShowDecimalProQuoRem( 1000D, 7D )
ShowDecimalProQuoRem( -1000D, 7D )
ShowDecimalProQuoRem( _
new Decimal( 1230000000, 0, 0, False, 7 ), _
0.0012300D )
ShowDecimalProQuoRem( 12345678900000000D, _
0.0000000012345678D )
ShowDecimalProQuoRem( 123456789.0123456789D, _
123456789.1123456789D )
End Sub
End Module

' This example of the Decimal multiplication, division, and modulus
' operators generates the following output. It displays the product,
' quotient, and remainder of several pairs of Decimal objects.
'
' Decimal Left                                                     1000
' Decimal Right                                                       7
' Decimal.op_Multiply( Left, Right )                               7000
' Decimal.op_Division( Left, Right )     142.85714285714285714285714286
' Decimal.op_Modulus( Left, Right )                                   6
'
' Decimal Left                                                    -1000
' Decimal Right                                                       7
' Decimal.op_Multiply( Left, Right )                              -7000
' Decimal.op_Division( Left, Right )    -142.85714285714285714285714286
' Decimal.op_Modulus( Left, Right )                                  -6
'
' Decimal Left                                              123.0000000
' Decimal Right                                                 0.00123
' Decimal.op_Multiply( Left, Right )                     0.151290000000
' Decimal.op_Division( Left, Right )                          100000.00
' Decimal.op_Modulus( Left, Right )                                   0
'
' Decimal Left                                        12345678900000000
' Decimal Right                                      0.0000000012345678
' Decimal.op_Multiply( Left, Right )          15241577.6390794200000000
' Decimal.op_Division( Left, Right )     10000000729000059778004901.796
' Decimal.op_Modulus( Left, Right )                      0.000000000983
'
' Decimal Left                                     123456789.0123456789
' Decimal Right                                    123456789.1123456789
' Decimal.op_Multiply( Left, Right )     15241578765584515.651425087878
' Decimal.op_Division( Left, Right )     0.9999999991899999933660999449
' Decimal.op_Modulus( Left, Right )                123456789.0123456789

```
```// Example of the decimal multiplication, division, and modulus
// operators.
import System.*;

class DecimalMulDivRemOpsDemo
{
private static String dataFmt = "   {0,-18}{1,31}";

// Display decimal parameters and their product, quotient, and
// remainder.
public static void ShowDecimalProQuoRem(System.Decimal left,
System.Decimal right)
{
Console.WriteLine();
Console.WriteLine(dataFmt, "decimal Left", left);
Console.WriteLine(dataFmt, "decimal Right", right);
Console.WriteLine(dataFmt, "Left * Right",
Decimal.Multiply(left, right));
Console.WriteLine(dataFmt, "Left / Right",
Decimal.Divide(left, right));
Console.WriteLine(dataFmt, "Left % Right",
Decimal.Remainder(left, right));
} //ShowDecimalProQuoRem

public static void main(String[] args)
{
Console.WriteLine(("This example of the decimal multiplication,"
+ " division, "
+ "and modulus \noperators generates the following "
+ "output. It displays the product, \nquotient, and "
+ "remainder of several pairs of decimal objects."));

// Create pairs of decimal objects.
ShowDecimalProQuoRem(System.Convert.ToDecimal(1000),
System.Convert.ToDecimal(7));
ShowDecimalProQuoRem(System.Convert.ToDecimal(-1000),
System.Convert.ToDecimal(7));
ShowDecimalProQuoRem(new System.Decimal(1230000000, 0, 0, false,
System.Convert.ToByte(7)), System.Convert.ToDecimal(0.0012300));
ShowDecimalProQuoRem(System.Convert.ToDecimal(12345678900000000D),
System.Convert.ToDecimal(0.0000000012345678));
ShowDecimalProQuoRem(System.Convert.ToDecimal(123456789.0123456789),
System.Convert.ToDecimal(123456789.1123456789));
} //main
} //DecimalMulDivRemOpsDemo

/*
This example of the decimal multiplication, division, and modulus
operators generates the following output. It displays the product,
quotient, and remainder of several pairs of decimal objects.

decimal Left                                 1000
decimal Right                                   7
Left * Right                                 7000
Left / Right       142.85714285714285714285714286
Left % Right                                    6

decimal Left                                -1000
decimal Right                                   7
Left * Right                                -7000
Left / Right      -142.85714285714285714285714286
Left % Right                                   -6

decimal Left                          123.0000000
decimal Right                           0.0012300
Left * Right                     0.15129000000000
Left / Right                               100000
Left % Right                                    0

decimal Left                    12345678900000000
decimal Right                  0.0000000012345678
Left * Right            15241577.6390794200000000
Left / Right       10000000729000059778004901.796
Left % Right                       0.000000000983

decimal Left                 123456789.0123456789
decimal Right                123456789.1123456789
Left * Right       15241578765584515.651425087878
Left / Right       0.9999999991899999933660999449
Left % Right                 123456789.0123456789
*/

```

## Platforms

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

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

## Version Information

#### .NET Framework

Supported in: 2.0, 1.1, 1.0

#### .NET Compact Framework

Supported in: 2.0, 1.0