Decimal.Round Decimal.Round Decimal.Round Decimal.Round Method

정의

값을 가장 가까운 정수나 지정된 소수 자릿수로 반올림합니다.Rounds a value to the nearest integer or specified number of decimal places.

오버로드

Round(Decimal) Round(Decimal) Round(Decimal) Round(Decimal)

10진 값을 가장 가까운 정수로 반올림합니다.Rounds a decimal value to the nearest integer.

Round(Decimal, Int32) Round(Decimal, Int32) Round(Decimal, Int32) Round(Decimal, Int32)

Decimal 값을 지정된 소수 자릿수로 반올림합니다.Rounds a Decimal value to a specified number of decimal places.

Round(Decimal, MidpointRounding) Round(Decimal, MidpointRounding) Round(Decimal, MidpointRounding) Round(Decimal, MidpointRounding)

10진 값을 가장 가까운 정수로 반올림합니다.Rounds a decimal value to the nearest integer. 서로 다른 두 숫자의 중간에 있는 값을 반올림하는 방법을 지정하는 매개 변수입니다.A parameter specifies how to round the value if it is midway between two other numbers.

Round(Decimal, Int32, MidpointRounding) Round(Decimal, Int32, MidpointRounding) Round(Decimal, Int32, MidpointRounding) Round(Decimal, Int32, MidpointRounding)

10진 값을 지정된 전체 자릿수로 반올림합니다.Rounds a decimal value to a specified precision. 서로 다른 두 숫자의 중간에 있는 값을 반올림하는 방법을 지정하는 매개 변수입니다.A parameter specifies how to round the value if it is midway between two other numbers.

Round(Decimal) Round(Decimal) Round(Decimal) Round(Decimal)

10진 값을 가장 가까운 정수로 반올림합니다.Rounds a decimal value to the nearest integer.

public:
 static System::Decimal Round(System::Decimal d);
public static decimal Round (decimal d);
static member Round : decimal -> decimal
Public Shared Function Round (d As Decimal) As Decimal

매개 변수

d
Decimal Decimal Decimal Decimal

반올림할 10진수입니다.A decimal number to round.

반환

d 매개 변수에 가장 가까운 정수입니다.The integer that is nearest to the d parameter. d가 두 숫자의 중간에 있으며 이 숫자 중 하나는 짝수이고 다른 하나는 홀수이면 짝수가 반환됩니다.If d is halfway between two integers, one of which is even and the other odd, the even number is returned.

예외

결과가 Decimal 값의 범위를 벗어났습니다.The result is outside the range of a Decimal value.

예제

다음 예제에서는 다양 한 반올림 Decimal 가장 가까운 정수로 102 100 사이의 값입니다.The following example rounds a range of Decimal values between 100 and 102 to the nearest integer. 메서드는 은행원의 반올림을 사용 하므로 100.5 102 100 및 101.5 반올림 반올림는 note 합니다.Because the method uses banker's rounding, note that 100.5 rounds to 100 and 101.5 rounds to 102.

using System;

public class Example
{
   public static void Main()
   {
      for (decimal value = 100m; value <= 102m; value += .1m)
         Console.WriteLine("{0} --> {1}", value, Decimal.Round(value));

   }
}
// The example displays the following output:
//     100 --> 100
//     100.1 --> 100
//     100.2 --> 100
//     100.3 --> 100
//     100.4 --> 100
//     100.5 --> 100
//     100.6 --> 101
//     100.7 --> 101
//     100.8 --> 101
//     100.9 --> 101
//     101.0 --> 101
//     101.1 --> 101
//     101.2 --> 101
//     101.3 --> 101
//     101.4 --> 101
//     101.5 --> 102
//     101.6 --> 102
//     101.7 --> 102
//     101.8 --> 102
//     101.9 --> 102
//     102.0 --> 102
Module Example
   Public Sub Main()
      For value As Decimal = 100d To 102d Step .1d
         Console.WriteLine("{0} --> {1}", value, Decimal.Round(value))
      Next
   End Sub
End Module
' The example displays the following output:
'     100 --> 100
'     100.1 --> 100
'     100.2 --> 100
'     100.3 --> 100
'     100.4 --> 100
'     100.5 --> 100
'     100.6 --> 101
'     100.7 --> 101
'     100.8 --> 101
'     100.9 --> 101
'     101.0 --> 101
'     101.1 --> 101
'     101.2 --> 101
'     101.3 --> 101
'     101.4 --> 101
'     101.5 --> 102
'     101.6 --> 102
'     101.7 --> 102
'     101.8 --> 102
'     101.9 --> 102
'     102.0 --> 102

설명

이 메서드는 IEEE 표준 754를 섹션 4 따릅니다.The behavior of this method follows IEEE Standard 754, section 4. 이러한 종류의 반올림 이라고 도 절반 정도 반올림 하거나 은행원의 반올림합니다.This kind of rounding is sometimes called round half to even or banker's rounding. 일관 되 게 한 방향 중간점 값을 반올림 한 결과인 반올림 오류가 최소화 합니다.It minimizes rounding errors that result from consistently rounding a midpoint value in a single direction. 호출 하는 것과 같습니다 합니다 Round(Decimal, MidpointRounding) 메서드를 mode 인수의 MidpointRounding.ToEven합니다.It is equivalent to calling the Round(Decimal, MidpointRounding) method with a mode argument of MidpointRounding.ToEven.

추가 정보

Round(Decimal, Int32) Round(Decimal, Int32) Round(Decimal, Int32) Round(Decimal, Int32)

Decimal 값을 지정된 소수 자릿수로 반올림합니다.Rounds a Decimal value to a specified number of decimal places.

public:
 static System::Decimal Round(System::Decimal d, int decimals);
public static decimal Round (decimal d, int decimals);
static member Round : decimal * int -> decimal
Public Shared Function Round (d As Decimal, decimals As Integer) As Decimal

매개 변수

d
Decimal Decimal Decimal Decimal

반올림할 10진수입니다.A decimal number to round.

decimals
Int32 Int32 Int32 Int32

반올림할 소수 자릿수를 지정하는 0부터 28까지의 값입니다.A value from 0 to 28 that specifies the number of decimal places to round to.

반환

소수 d자리로 반올림된 decimals에 해당하는 10진수입니다.The decimal number equivalent to d rounded to decimals number of decimal places.

예외

decimals이 0~28 사이의 값이 아닙니다.decimals is not a value from 0 to 28.

예제

다음 예제에서는 몇 가지 반올림 Decimal 값의 소수 자릿수를 사용 하 여 지정 된 수의 Round 메서드.The following example rounds several Decimal values to a specified number of decimal places using the Round method.

using System;

class Example
{
   public static void Main()
   {
      // Define a set of Decimal values.
      decimal[] values = { 1.45m, 1.55m, 123.456789m, 123.456789m, 
                           123.456789m, -123.456m, 
                           new Decimal(1230000000, 0, 0, true, 7 ),
                           new Decimal(1230000000, 0, 0, true, 7 ), 
                           -9999999999.9999999999m, 
                           -9999999999.9999999999m };
      // Define a set of integers to for decimals argument.
      int[] decimals = { 1, 1, 4, 6, 8, 0, 3, 11, 9, 10};
      
      Console.WriteLine("{0,26}{1,8}{2,26}", 
                        "Argument", "Digits", "Result" );
      Console.WriteLine("{0,26}{1,8}{2,26}", 
                        "--------", "------", "------" );
      for (int ctr = 0; ctr < values.Length; ctr++)
        Console.WriteLine("{0,26}{1,8}{2,26}", 
                          values[ctr], decimals[ctr], 
                          Decimal.Round(values[ctr], decimals[ctr]));
    }
}
// The example displays the following output:
//                   Argument  Digits                    Result
//                   --------  ------                    ------
//                       1.45       1                       1.4
//                       1.55       1                       1.6
//                 123.456789       4                  123.4568
//                 123.456789       6                123.456789
//                 123.456789       8                123.456789
//                   -123.456       0                      -123
//               -123.0000000       3                  -123.000
//               -123.0000000      11              -123.0000000
//     -9999999999.9999999999       9    -10000000000.000000000
//     -9999999999.9999999999      10    -9999999999.9999999999
Public Module Example
   Public Sub Main()
      ' Define a set of Decimal values.
      Dim values() As Decimal = { 1.45d, 1.55d, 123.456789d, 123.456789d, 
                                  123.456789d, -123.456d, 
                                  New Decimal(1230000000, 0, 0, true, 7 ),
                                  New Decimal(1230000000, 0, 0, true, 7 ), 
                                  -9999999999.9999999999d, 
                                  -9999999999.9999999999d }
      ' Define a set of integers to for decimals argument.
      Dim decimals() As Integer = { 1, 1, 4, 6, 8, 0, 3, 11, 9, 10}
      
      Console.WriteLine("{0,26}{1,8}{2,26}", 
                        "Argument", "Digits", "Result" )
      Console.WriteLine("{0,26}{1,8}{2,26}", 
                        "--------", "------", "------" )
      For ctr As Integer = 0 To values.Length - 1
        Console.WriteLine("{0,26}{1,8}{2,26}", 
                          values(ctr), decimals(ctr), 
                          Decimal.Round(values(ctr), decimals(ctr)))
      Next
   End Sub
End Module
' The example displays the following output:
'                   Argument  Digits                    Result
'                   --------  ------                    ------
'                       1.45       1                       1.4
'                       1.55       1                       1.6
'                 123.456789       4                  123.4568
'                 123.456789       6                123.456789
'                 123.456789       8                123.456789
'                   -123.456       0                      -123
'               -123.0000000       3                  -123.000
'               -123.0000000      11              -123.0000000
'     -9999999999.9999999999       9    -10000000000.000000000
'     -9999999999.9999999999      10    -9999999999.9999999999

설명

이 메서드는 호출에 해당 하는 Round(Decimal, Int32, MidpointRounding) 메서드를 mode 인수의 MidpointRounding.ToEven합니다. 때 d 정확 하 게 짝수 반올림 된 두 값 간에 결과 짝수의 소수 자릿수 맨 오른쪽에 있는 반올림된 한 값입니다.This method is equivalent to calling the Round(Decimal, Int32, MidpointRounding) method with a mode argument of MidpointRounding.ToEven.When d is exactly halfway between two rounded values, the result is the rounded value that has an even digit in the far right decimal position. 예를 들어, 소수점 두 자리로 반올림하면 2.345는 2.34가 되고 2.355는 2.36이 됩니다.For example, when rounded to two decimals, the value 2.345 becomes 2.34 and the value 2.355 becomes 2.36. 이 프로세스는 이라고 짝수로, 또는 은행원의 반올림합니다.This process is known as rounding toward even, or banker's rounding. 일관 되 게 한 방향 중간점 값을 반올림 한 결과인 반올림 오류가 최소화 합니다.It minimizes rounding errors that result from consistently rounding a midpoint value in a single direction.

추가 정보

Round(Decimal, MidpointRounding) Round(Decimal, MidpointRounding) Round(Decimal, MidpointRounding) Round(Decimal, MidpointRounding)

10진 값을 가장 가까운 정수로 반올림합니다.Rounds a decimal value to the nearest integer. 서로 다른 두 숫자의 중간에 있는 값을 반올림하는 방법을 지정하는 매개 변수입니다.A parameter specifies how to round the value if it is midway between two other numbers.

public:
 static System::Decimal Round(System::Decimal d, MidpointRounding mode);
public static decimal Round (decimal d, MidpointRounding mode);
static member Round : decimal * MidpointRounding -> decimal
Public Shared Function Round (d As Decimal, mode As MidpointRounding) As Decimal

매개 변수

d
Decimal Decimal Decimal Decimal

반올림할 10진수입니다.A decimal number to round.

mode
MidpointRounding MidpointRounding MidpointRounding MidpointRounding

서로 다른 두 숫자의 중간에 있는 d를 반올림하는 방법을 지정하는 값입니다.A value that specifies how to round d if it is midway between two other numbers.

반환

d 매개 변수에 가장 가까운 정수입니다.The integer that is nearest to the d parameter. d가 두 숫자의 중간에 있으며 이 숫자 중 하나는 짝수이고 다른 하나는 홀수이면 mode 매개 변수에 의해 두 숫자 중 반환될 숫자가 결정됩니다.If d is halfway between two numbers, one of which is even and the other odd, the mode parameter determines which of the two numbers is returned.

예외

결과가 Decimal 개체의 범위를 벗어났습니다.The result is outside the range of a Decimal object.

예제

반환 된 값을 표시 하는 다음 예제는 Round(Decimal) 메서드를를 Round(Decimal, MidpointRounding) 메서드를 mode 인수의 ToEven, 및 Round(Decimal, MidpointRounding) 메서드를 mode 인수의 AwayFromZero.The following example displays values returned by the Round(Decimal) method, the Round(Decimal, MidpointRounding) method with a mode argument of ToEven, and the Round(Decimal, MidpointRounding) method with a mode argument of AwayFromZero.

Console.WriteLine("{0,-10} {1,-10} {2,-10} {3,-15}", "Value", "Default", 
                  "ToEven", "AwayFromZero");
for (decimal value = 12.0m; value <= 13.0m; value += 0.1m)
   Console.WriteLine("{0,-10} {1,-10} {2,-10} {3,-15}",
                     value, Math.Round(value), 
                     Math.Round(value, MidpointRounding.ToEven),
                     Math.Round(value, MidpointRounding.AwayFromZero));
// The example displays the following output:
//       Value      Default    ToEven     AwayFromZero
//       12         12         12         12
//       12.1       12         12         12
//       12.2       12         12         12
//       12.3       12         12         12
//       12.4       12         12         12
//       12.5       12         12         13
//       12.6       13         13         13
//       12.7       13         13         13
//       12.8       13         13         13
//       12.9       13         13         13
//       13.0       13         13         13
Module Example
   Public Sub Main()
      Console.WriteLine("{0,-10} {1,-10} {2,-10} {3,-15}", "Value", "Default", 
                        "ToEven", "AwayFromZero")
      For value As Decimal = 12.0d To 13.0d Step .1d
         Console.WriteLine("{0,-10} {1,-10} {2,-10} {3,-15}",
                           value, Math.Round(value), 
                           Math.Round(value, MidpointRounding.ToEven),
                           Math.Round(value, MidpointRounding.AwayFromZero))
      Next
   End Sub
End Module
' The example displays the following output:
'       Value      Default    ToEven     AwayFromZero
'       12         12         12         12
'       12.1       12         12         12
'       12.2       12         12         12
'       12.3       12         12         12
'       12.4       12         12         12
'       12.5       12         12         13
'       12.6       13         13         13
'       12.7       13         13         13
'       12.8       13         13         13
'       12.9       13         13         13
'       13.0       13         13         13

설명

중간점 값을 결과에 가장 중요 하지 않은 숫자 후 값이 정확 하 게 절반만 두 숫자.In a midpoint value, the value after the least significant digit in the result is precisely half way between two numbers. 예를 들어 7.5 중간점 값을 정수로 반올림 되는 경우입니다.For example, 7.5 is a midpoint value if it is to be rounded to an integer. 중간점 값에 대 한 가장 가까운 값 없습니다 쉽게 식별할 수는 반올림 규칙에 의해 지정 되는 없이 mode 인수입니다.For midpoint values, the nearest value can't be easily identified without a rounding convention, which is specified by the mode argument. Round 메서드 중간점 값을 처리 하기 위해 두 반올림 규칙을 지원 합니다.The Round method supports two rounding conventions for handling midpoint values.

0에서 멀어지는 쪽 반올림 합니다.Rounding away from zero.
중간점 값은 다음 번호 0에서 멀어지는 쪽으로 반올림 됩니다.Midpoint values are rounded to the next number away from zero. 3.5를 4로 반올림 하는 예를 들어-4, 5 4.5 반올림-3.5 반올림-4.5-5를 반올림 합니다.For example, 3.5 rounds to 4, 4.5 rounds to 5, -3.5 rounds to -4, and -4.5 rounds to -5. 반올림이 폼은 표현 된 MidpointRounding.AwayFromZero 열거형 멤버입니다.This form of rounding is represented by the MidpointRounding.AwayFromZero enumeration member.

0에서 멀어지는 쪽으로 반올림 하는 것은 가장 널리 알려진된 형태의 반올림 합니다.Rounding away from zero is the most widely known form of rounding.

도로 반올림 또는 은행원의 반올림Rounding to even, or banker's rounding
중간점 값을 가장 가까운 짝수로 반올림 됩니다.Midpoint values are rounded to the nearest even number. 예를 들어, 4, 3.5 및 4.5 반올림 하 고-3.5와-4.5-4로 반올림 합니다.For example, both 3.5 and 4.5 round to 4, and both -3.5 and -4.5 round to -4. 반올림이 폼은 표현 된 MidpointRounding.ToEven 열거형 멤버입니다.This form of rounding is represented by the MidpointRounding.ToEven enumeration member.

재무 및 통계 작업에 사용 되는 반올림 하 여 표준 형식의 가장 가까운 수로 반올림 합니다.Rounding to nearest is the standard form of rounding used in financial and statistical operations. 섹션 4 IEEE 표준 754를 준수 합니다.It conforms to IEEE Standard 754, section 4. 반올림 작업을 여러 개를 사용 하면 일관 되 게 한 방향 중간점 값을 반올림 하 여 발생 하는 반올림 오류를 줄입니다.When used in multiple rounding operations, it reduces the rounding error that is caused by consistently rounding midpoint values in a single direction. 경우에 따라이 반올림 오류 중요할 수 있습니다.In some cases, this rounding error can be significant.

추가 정보

Round(Decimal, Int32, MidpointRounding) Round(Decimal, Int32, MidpointRounding) Round(Decimal, Int32, MidpointRounding) Round(Decimal, Int32, MidpointRounding)

10진 값을 지정된 전체 자릿수로 반올림합니다.Rounds a decimal value to a specified precision. 서로 다른 두 숫자의 중간에 있는 값을 반올림하는 방법을 지정하는 매개 변수입니다.A parameter specifies how to round the value if it is midway between two other numbers.

public:
 static System::Decimal Round(System::Decimal d, int decimals, MidpointRounding mode);
public static decimal Round (decimal d, int decimals, MidpointRounding mode);
static member Round : decimal * int * MidpointRounding -> decimal
Public Shared Function Round (d As Decimal, decimals As Integer, mode As MidpointRounding) As Decimal

매개 변수

d
Decimal Decimal Decimal Decimal

반올림할 10진수입니다.A decimal number to round.

decimals
Int32 Int32 Int32 Int32

반환 값에서 유효 소수 자릿수(전체 자릿수)의 숫자입니다.The number of significant decimal places (precision) in the return value.

mode
MidpointRounding MidpointRounding MidpointRounding MidpointRounding

서로 다른 두 숫자의 중간에 있는 d를 반올림하는 방법을 지정하는 값입니다.A value that specifies how to round d if it is midway between two other numbers.

반환

전체 자릿수가 decimals 매개 변수와 같은, d 매개 변수에 가장 가까운 숫자입니다.The number that is nearest to the d parameter with a precision equal to the decimals parameter. d가 두 숫자의 중간에 있으며 이 숫자 중 하나는 짝수이고 다른 하나는 홀수이면 mode 매개 변수에 의해 두 숫자 중 반환될 숫자가 결정됩니다.If d is halfway between two numbers, one of which is even and the other odd, the mode parameter determines which of the two numbers is returned. d의 전체 자릿수가 decimals보다 작으면 d는 변경되지 않은 상태로 반환됩니다.If the precision of d is less than decimals, d is returned unchanged.

예외

decimals가 0보다 작거나 28보다 큽니다.decimals is less than 0 or greater than 28.

결과가 Decimal 개체의 범위를 벗어났습니다.The result is outside the range of a Decimal object.

예제

다음 예제에서는 사용 하는 방법에 설명 합니다 Round(Decimal, Int32, MidpointRounding) 메서드는 MidpointRounding 열거형입니다.The following example demonstrates how to use the Round(Decimal, Int32, MidpointRounding) method with the MidpointRounding enumeration.

// This example demonstrates the Math.Round() method in conjunction 
// with the MidpointRounding enumeration.
using namespace System;

void main()
{
    Decimal result = (Decimal) 0.0;
    Decimal posValue = (Decimal) 3.45;
    Decimal negValue = (Decimal) -3.45;

    // By default, round a positive and a negative value to the nearest
    // even number. The precision of the result is 1 decimal place.
    result = Math::Round(posValue, 1);
    Console::WriteLine("{0,4} = Math.Round({1,5}, 1)", result, posValue);
    result = Math::Round(negValue, 1);
    Console::WriteLine("{0,4} = Math.Round({1,5}, 1)", result, negValue);
    Console::WriteLine();

    // Round a positive value to the nearest even number, then to the
    // nearest number away from zero. The precision of the result is 1
    // decimal place.
    result = Math::Round(posValue, 1, MidpointRounding::ToEven);
    Console::WriteLine(
        "{0,4} = Math.Round({1,5}, 1, MidpointRounding.ToEven)",
        result, posValue);
    result = Math::Round(posValue, 1, MidpointRounding::AwayFromZero);
    Console::WriteLine(
        "{0,4} = Math.Round({1,5}, 1, MidpointRounding.AwayFromZero)",
        result, posValue);
    Console::WriteLine();

    // Round a negative value to the nearest even number, then to the
    // nearest number away from zero. The precision of the result is 1
    // decimal place.
    result = Math::Round(negValue, 1, MidpointRounding::ToEven);
    Console::WriteLine(
        "{0,4} = Math.Round({1,5}, 1, MidpointRounding.ToEven)",
        result, negValue);
    result = Math::Round(negValue, 1, MidpointRounding::AwayFromZero);
    Console::WriteLine(
        "{0,4} = Math.Round({1,5}, 1, MidpointRounding.AwayFromZero)",
        result, negValue);
    Console::WriteLine();
}

/*
This code example produces the following results:

3.4 = Math.Round( 3.45, 1)
-3.4 = Math.Round(-3.45, 1)

3.4 = Math.Round( 3.45, 1, MidpointRounding.ToEven)
3.5 = Math.Round( 3.45, 1, MidpointRounding.AwayFromZero)

-3.4 = Math.Round(-3.45, 1, MidpointRounding.ToEven)
-3.5 = Math.Round(-3.45, 1, MidpointRounding.AwayFromZero)

*/
decimal result = 0.0m;
decimal posValue =  3.45m;
decimal negValue = -3.45m;

// By default, round a positive and a negative value to the nearest even number. 
// The precision of the result is 1 decimal place.

result = Math.Round(posValue, 1);
Console.WriteLine("{0,4} = Math.Round({1,5}, 1)", result, posValue);
result = Math.Round(negValue, 1);
Console.WriteLine("{0,4} = Math.Round({1,5}, 1)", result, negValue);
Console.WriteLine();

// Round a positive value to the nearest even number, then to the nearest number away from zero. 
// The precision of the result is 1 decimal place.

result = Math.Round(posValue, 1, MidpointRounding.ToEven);
Console.WriteLine("{0,4} = Math.Round({1,5}, 1, MidpointRounding.ToEven)", result, posValue);
result = Math.Round(posValue, 1, MidpointRounding.AwayFromZero);
Console.WriteLine("{0,4} = Math.Round({1,5}, 1, MidpointRounding.AwayFromZero)", result, posValue);
Console.WriteLine();

// Round a negative value to the nearest even number, then to the nearest number away from zero. 
// The precision of the result is 1 decimal place.

result = Math.Round(negValue, 1, MidpointRounding.ToEven);
Console.WriteLine("{0,4} = Math.Round({1,5}, 1, MidpointRounding.ToEven)", result, negValue);
result = Math.Round(negValue, 1, MidpointRounding.AwayFromZero);
Console.WriteLine("{0,4} = Math.Round({1,5}, 1, MidpointRounding.AwayFromZero)", result, negValue);
Console.WriteLine();
/*
This code example produces the following results:

3.4 = Math.Round( 3.45, 1)
-3.4 = Math.Round(-3.45, 1)

3.4 = Math.Round( 3.45, 1, MidpointRounding.ToEven)
3.5 = Math.Round( 3.45, 1, MidpointRounding.AwayFromZero)

-3.4 = Math.Round(-3.45, 1, MidpointRounding.ToEven)
-3.5 = Math.Round(-3.45, 1, MidpointRounding.AwayFromZero)

*/
' This example demonstrates the Math.Round() method in conjunction 
' with the MidpointRounding enumeration.
Class Sample
    Public Shared Sub Main() 
        Dim result As Decimal = 0D
        Dim posValue As Decimal = 3.45D
        Dim negValue As Decimal = -3.45D
        
        ' By default, round a positive and a negative value to the nearest even number. 
        ' The precision of the result is 1 decimal place.
        result = Math.Round(posValue, 1)
        Console.WriteLine("{0,4} = Math.Round({1,5}, 1)", result, posValue)
        result = Math.Round(negValue, 1)
        Console.WriteLine("{0,4} = Math.Round({1,5}, 1)", result, negValue)
        Console.WriteLine()
        
        ' Round a positive value to the nearest even number, then to the nearest number 
        ' away from zero. The precision of the result is 1 decimal place.
        result = Math.Round(posValue, 1, MidpointRounding.ToEven)
        Console.WriteLine("{0,4} = Math.Round({1,5}, 1, MidpointRounding.ToEven)", _
                           result, posValue)
        result = Math.Round(posValue, 1, MidpointRounding.AwayFromZero)
        Console.WriteLine("{0,4} = Math.Round({1,5}, 1, MidpointRounding.AwayFromZero)", _
                           result, posValue)
        Console.WriteLine()
        
        ' Round a negative value to the nearest even number, then to the nearest number 
        ' away from zero. The precision of the result is 1 decimal place.
        result = Math.Round(negValue, 1, MidpointRounding.ToEven)
        Console.WriteLine("{0,4} = Math.Round({1,5}, 1, MidpointRounding.ToEven)", _
                            result, negValue)
        result = Math.Round(negValue, 1, MidpointRounding.AwayFromZero)
        Console.WriteLine("{0,4} = Math.Round({1,5}, 1, MidpointRounding.AwayFromZero)", _
                           result, negValue)
        Console.WriteLine()
    
    End Sub
End Class
'
'This code example produces the following results:
'
' 3.4 = Math.Round( 3.45, 1)
'-3.4 = Math.Round(-3.45, 1)
'
' 3.4 = Math.Round( 3.45, 1, MidpointRounding.ToEven)
' 3.5 = Math.Round( 3.45, 1, MidpointRounding.AwayFromZero)
'
'-3.4 = Math.Round(-3.45, 1, MidpointRounding.ToEven)
'-3.5 = Math.Round(-3.45, 1, MidpointRounding.AwayFromZero)
'

설명

decimals 매개 변수 반환 값에서 유효 소수 자릿수의 수를 지정 하며 범위는 0에서 28 사이입니다.The decimals parameter specifies the number of significant decimal places in the return value and ranges from 0 to 28. 경우 decimals 가 0 이면 정수 반환 됩니다.If decimals is zero, an integer is returned.

중간점 값을 결과에 가장 중요 하지 않은 숫자 후 값이 정확 하 게 절반만 두 숫자.In a midpoint value, the value after the least significant digit in the result is precisely half way between two numbers. 예를 들어 3.47500 이며 중간값은 경우 두 자리로 반올림 7.500 중간점 값을 정수로 반올림 되는 경우.For example, 3.47500 is a midpoint value if it is to be rounded two decimal places, and 7.500 is a midpoint value if it is to be rounded to an integer. 이러한 경우에 가장 가까운 값 없습니다 쉽게 식별할 수는 반올림 규칙에 의해 지정 되는 없이 mode 인수입니다.In these cases, the nearest value can't be easily identified without a rounding convention, which is specified by the mode argument. Round(Decimal, Int32, MidpointRounding) 메서드 중간점 값을 처리 하기 위해 두 반올림 규칙을 지원 합니다.The Round(Decimal, Int32, MidpointRounding) method supports two rounding conventions for handling midpoint values.

0에서 멀어지는 쪽 반올림 합니다.Rounding away from zero.
중간점 값은 다음 번호 0에서 멀어지는 쪽으로 반올림 됩니다.Midpoint values are rounded to the next number away from zero. 예를 들어, 3.8, 3.75 반올림-3.8, 3.9, 3.85 반올림-3.75 반올림-3.85-3.9 반올림 하 고 합니다.For example, 3.75 rounds to 3.8, 3.85 rounds to 3.9, -3.75 rounds to -3.8, and -3.85 rounds to -3.9. 반올림이 폼은 표현 된 MidpointRounding.AwayFromZero 열거형 멤버입니다.This form of rounding is represented by the MidpointRounding.AwayFromZero enumeration member.

0에서 멀어지는 쪽으로 반올림 하는 것은 가장 널리 알려진된 형태의 반올림 합니다.Rounding away from zero is the most widely known form of rounding.

도로 반올림 또는 은행원의 반올림Rounding to even, or banker's rounding
중간점 값을 가장 가까운 짝수로 반올림 됩니다.Midpoint values are rounded to the nearest even number. 예를 들어 3.75와 3.85 3.8을 반올림할 및-3.75와-3.85-3.8 반내림 합니다.For example, both 3.75 and 3.85 round to 3.8, and both -3.75 and -3.85 round to -3.8. 반올림이 폼은 표현 된 MidpointRounding.ToEven 열거형 멤버입니다.This form of rounding is represented by the MidpointRounding.ToEven enumeration member.

재무 및 통계 작업에 사용 되는 반올림 하 여 표준 형식의 가장 가까운 수로 반올림 합니다.Rounding to nearest is the standard form of rounding used in financial and statistical operations. 섹션 4 IEEE 표준 754를 준수 합니다.It conforms to IEEE Standard 754, section 4. 반올림 작업을 여러 개를 사용 하면 일관 되 게 한 방향 중간점 값을 반올림 하 여 발생 하는 반올림 오류를 줄입니다.When used in multiple rounding operations, it reduces the rounding error that is caused by consistently rounding midpoint values in a single direction. 경우에 따라이 반올림 오류 중요할 수 있습니다.In some cases, this rounding error can be significant.

추가 정보

적용 대상