Export (0) Print
Expand All

Decimal.op_Modulus Method

Returns the remainder resulting from dividing two specified Decimal values.

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

public static decimal operator % (
	decimal d1,
	decimal d2
)
Not applicable.

Parameters

d1

A Decimal (the dividend).

d2

A Decimal (the divisor).

Return Value

The Decimal remainder resulting from dividing d1 by d2.

Exception typeCondition

DivideByZeroException

d2 is zero.

OverflowException

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

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.
using System;

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

    // Display decimal parameters and their product, quotient, and 
    // remainder.
    public static void ShowDecimalProQuoRem( 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 );
        Console.WriteLine( dataFmt, "Left % Right", Left % Right );
    }

    public static void Main( )
    {
        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( 1000M, 7M );
        ShowDecimalProQuoRem( -1000M, 7M );
        ShowDecimalProQuoRem( 
            new decimal( 1230000000, 0, 0, false, 7 ), 0.0012300M );
        ShowDecimalProQuoRem( 12345678900000000M, 
            0.0000000012345678M );
        ShowDecimalProQuoRem( 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
*/

// 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
*/

Windows 98, Windows Server 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 Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0

XNA Framework

Supported in: 1.0

Community Additions

ADD
Show:
© 2014 Microsoft