Поделиться через


Decimal.Remainder(Decimal, Decimal) Метод

Определение

Вычисляет остаток после деления двух значений типа Decimal.

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

Параметры

d1
Decimal

Делимое.

d2
Decimal

Делитель.

Возвращаемое значение

Остаток от деления d1 на d2.

Исключения

d2 равен нулю.

Возвращаемое значение меньше Decimal.MinValue или больше Decimal.MaxValue.

Примеры

В следующем примере метод используется Remainder для вычисления остатка в последовательности операций деления.

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

Применяется к