.NET Framework Class Library for Silverlight
Decimal.Modulus Operator
Returns the remainder resulting from dividing two specified Decimal values.
Namespace: System
Assembly: mscorlib (in mscorlib.dll)
Syntax
Visual Basic (Declaration)
Public Shared Operator Mod ( _ d1 As Decimal, _ d2 As Decimal _ ) As Decimal
C#
public static decimal operator %( decimal d1, decimal d2 )
Parameters
- d1
- Type: System.Decimal
A Decimal (the dividend).
- d2
- Type: System.Decimal
A Decimal (the divisor).
Exceptions
| Exception | Condition |
|---|---|
| DivideByZeroException |
d2 is zero. |
| 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 the remainders resulting from dividing the two values with the Modulus operator.
Visual Basic
Module Example Const dataFmt As String = "{0,-38}{1,31}" Sub ShowDecimalProQuoRem(ByVal outputBlock As System.Windows.Controls.TextBlock, _ ByVal Left As Decimal, ByVal Right As Decimal) outputBlock.Text &= String.Format(dataFmt, "Decimal Left", Left) & vbCrLf outputBlock.Text &= String.Format(dataFmt, "Decimal Right", Right) & vbCrLf outputBlock.Text &= String.Format(dataFmt, _ "Decimal.op_Multiply( Left, Right )", _ Decimal.op_Multiply(Left, Right)) & vbCrLf outputBlock.Text &= String.Format(dataFmt, _ "Decimal.op_Division( Left, Right )", _ Decimal.op_Division(Left, Right)) & vbCrLf outputBlock.Text &= String.Format(dataFmt, _ "Decimal.op_Modulus( Left, Right )", _ Decimal.op_Modulus(Left, Right)) & vbCrLf & vbCrLf End Sub Public Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock) ' Create pairs of Decimal objects. ShowDecimalProQuoRem(outputBlock, 1000D, 7D) ShowDecimalProQuoRem(outputBlock, -1000D, 7D) ShowDecimalProQuoRem(outputBlock, _ New Decimal(1230000000, 0, 0, False, 7), _ 0.00123D) ShowDecimalProQuoRem(outputBlock, 12345678900000000D, _ 0.0000000012345678D) ShowDecimalProQuoRem(outputBlock, 123456789.0123456789D, _ 123456789.1123456789D) End Sub End Module ' The example displays the following output: ' 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
C#
// Example of the decimal multiplication, division, and modulus // operators. using System; class Example { const string dataFmt = " {0,-18}{1,31}"; // Display decimal parameters and their product, quotient, and // remainder. public static void ShowDecimalProQuoRem(System.Windows.Controls.TextBlock outputBlock, decimal Left, decimal Right) { outputBlock.Text += "\n"; outputBlock.Text += String.Format(dataFmt, "decimal Left", Left) + "\n"; outputBlock.Text += String.Format(dataFmt, "decimal Right", Right) + "\n"; outputBlock.Text += String.Format(dataFmt, "Left * Right", Left * Right) + "\n"; outputBlock.Text += String.Format(dataFmt, "Left / Right", Left / Right) + "\n"; outputBlock.Text += String.Format(dataFmt, "Left % Right", Left % Right) + "\n"; } public static void Demo(System.Windows.Controls.TextBlock outputBlock) { outputBlock.Text += "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." + "\n"; // Create pairs of decimal objects. ShowDecimalProQuoRem(outputBlock, 1000M, 7M); ShowDecimalProQuoRem(outputBlock, -1000M, 7M); ShowDecimalProQuoRem(outputBlock, new decimal(1230000000, 0, 0, false, 7), 0.0012300M); ShowDecimalProQuoRem(outputBlock, 12345678900000000M, 0.0000000012345678M); ShowDecimalProQuoRem(outputBlock, 123456789.0123456789M, 123456789.1123456789M); } } /* 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 */
Version Information
Silverlight
Supported in: 5, 4, 3Silverlight for Windows Phone
Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0XNA Framework
Supported in: Xbox 360, Windows Phone OS 7.0Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.
See Also