Decimal.Remainder(Decimal, Decimal) Method

Definition

Computes the remainder after dividing two Decimal values.

public:
 static System::Decimal Remainder(System::Decimal d1, System::Decimal d2);
public static decimal Remainder (decimal d1, decimal d2);
static member Remainder : decimal * decimal -> decimal
Public Shared Function Remainder (d1 As Decimal, d2 As Decimal) As Decimal

Parameters

d1
Decimal

The dividend.

d2
Decimal

The divisor.

Returns

The remainder after dividing d1 by d2.

Exceptions

d2 is zero.

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

Examples

The following example uses the Remainder method to calculate the remainder in a series of division operations.

using System;

public class Example
{
    public static void Main()
    {
        // Create parallel arrays of Decimals to use as the dividend and divisor.
        Decimal[] dividends = { 79m, 1000m, -1000m, 123m, 1234567800000m,
                                1234.0123m };
        Decimal[] divisors = { 11m, 7m, 7m, .00123m, 0.12345678m, 1234.5678m };

        for (int ctr = 0; ctr < dividends.Length; ctr++)
        {
           Decimal dividend = dividends[ctr];
           Decimal divisor = divisors[ctr];
           Console.WriteLine("{0:N3} / {1:N3} = {2:N3} Remainder {3:N3}", dividend,
                             divisor, Decimal.Divide(dividend, divisor),
                             Decimal.Remainder(dividend, divisor));
        }
    }
}
// The example displays the following output:
//       79.000 / 11.000 = 7.182 Remainder 2.000
//       1,000.000 / 7.000 = 142.857 Remainder 6.000
//       -1,000.000 / 7.000 = -142.857 Remainder -6.000
//       123.000 / 0.001 = 100,000.000 Remainder 0.000
//       1,234,567,800,000.000 / 0.123 = 10,000,000,000,000.000 Remainder 0.000
//       1,234.012 / 1,234.568 = 1.000 Remainder 1,234.012
open System

// Create parallel lists of Decimals to use as the dividend and divisor.
let dividends = 
    [ 79m; 1000m; -1000m; 123m; 1234567800000m; 1234.0123m ]
let divisors =
    [ 11m; 7m; 7m; 0.00123m; 0.12345678m; 1234.5678m ]

for i = 0 to dividends.Length - 1 do
    let dividend = dividends[i]
    let divisor = divisors[i]
    printfn $"{dividend:N3} / {divisor:N3} = {Decimal.Divide(dividend, divisor):N3} Remainder {Decimal.Remainder(dividend, divisor):N3}"

// The example displays the following output:
//       79.000 / 11.000 = 7.182 Remainder 2.000
//       1,000.000 / 7.000 = 142.857 Remainder 6.000
//       -1,000.000 / 7.000 = -142.857 Remainder -6.000
//       123.000 / 0.001 = 100,000.000 Remainder 0.000
//       1,234,567,800,000.000 / 0.123 = 10,000,000,000,000.000 Remainder 0.000
//       1,234.012 / 1,234.568 = 1.000 Remainder 1,234.012
Module Example
    Sub Main( )
        ' Create parallel arrays of Decimals to use as the dividend and divisor.
        Dim dividends() As Decimal = { 79d, 1000d, -1000d, 123d, 1234567800000d,
                                       1234.0123d }
        Dim divisors() As Decimal = { 11d, 7d, 7d, .00123d, 0.12345678d,
                                      1234.5678d }
        
        For ctr As Integer = 0 To dividends.Length - 1
           Dim dividend As Decimal = dividends(ctr)
           Dim divisor As Decimal = divisors(ctr)
           Console.WriteLine("{0:N3} / {1:N3} = {2:N3} Remainder {3:N3}", dividend,
                             divisor, Decimal.Divide(dividend, divisor),
                             Decimal.Remainder(dividend, divisor)) 
        Next
    End Sub
End Module 
' The example displays the following output:
'       79.000 / 11.000 = 7.182 Remainder 2.000
'       1,000.000 / 7.000 = 142.857 Remainder 6.000
'       -1,000.000 / 7.000 = -142.857 Remainder -6.000
'       123.000 / 0.001 = 100,000.000 Remainder 0.000
'       1,234,567,800,000.000 / 0.123 = 10,000,000,000,000.000 Remainder 0.000
'       1,234.012 / 1,234.568 = 1.000 Remainder 1,234.012

Applies to