# Math.IEEERemainder Method (Double, Double)

.NET Framework (current version)

Note

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Returns the remainder resulting from the division of a specified number by another specified number.

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

## Syntax

```Public Shared Function IEEERemainder (
x As Double,
y As Double
) As Double
```

#### Parameters

x
Type: System.Double

A dividend.

y
Type: System.Double

A divisor.

#### Return Value

Type: System.Double

A number equal to x - (y Q), where Q is the quotient of x / y rounded to the nearest integer (if x / y falls halfway between two integers, the even integer is returned).

If x - (y Q) is zero, the value +0 is returned if x is positive, or -0 if x is negative.

If y = 0, NaN is returned.

## Remarks

This operation complies with the remainder operation defined in Section 5.1 of ANSI/IEEE Std 754-1985; IEEE Standard for Binary Floating-Point Arithmetic; Institute of Electrical and Electronics Engineers, Inc; 1985.

TheIEEERemainder method is not the same as the modulus operator. Although both return the remainder after division, the formulas they use are different. The formula for the IEEERemainder method is:

```IEEERemainder = dividend - (divisor * Math.Round(dividend / divisor))
```

In contrast, the formula for the modulus operator is:

```Modulus = (Math.Abs(dividend) - (Math.Abs(divisor) *
(Math.Floor(Math.Abs(dividend) / Math.Abs(divisor))))) *
Math.Sign(dividend)
```

## Examples

The following example contrasts the remainder returned by the IEEERemainder method with the remainder returned by the modulus division operator.

```Module Example
Public Sub Main()
Console.WriteLine("{0,35} {1,20}", "IEEERemainder", "Modulus")
ShowRemainders(3, 2)
ShowRemainders(4, 2)
ShowRemainders(10, 3)
ShowRemainders(11, 3)
ShowRemainders(27, 4)
ShowRemainders(28, 5)
ShowRemainders(17.8, 4)
ShowRemainders(17.8, 4.1)
ShowRemainders(-16.3, 4.1)
ShowRemainders(17.8, -4.1)
ShowRemainders(-17.8, -4.1)
End Sub

Private Sub ShowRemainders(number1 As Double, number2 As Double)
Dim formula As String = String.Format("{0} / {1} = ", number1, number2)
Console.WriteLine("{0,-16} {1,18} {2,20}", _
formula, _
Math.IEEERemainder(number1, number2), _
number1 Mod number2)
End Sub
End Module
' The example displays the following output:
'
'                             IEEERemainder              Modulus
'       3 / 2 =                          -1                    1
'       4 / 2 =                           0                    0
'       10 / 3 =                          1                    1
'       11 / 3 =                         -1                    2
'       27 / 4 =                         -1                    3
'       28 / 5 =                         -2                    3
'       17.8 / 4 =                      1.8                  1.8
'       17.8 / 4.1 =                    1.4                  1.4
'       -16.3 / 4.1 =    0.0999999999999979                   -4
'       17.8 / -4.1 =                   1.4                  1.4
'       -17.8 / -4.1 =                 -1.4                 -1.4
```

## Version Information

Universal Windows Platform
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1