Decimal.Round 메서드

정의

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

오버로드

Round(Decimal)

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

Round(Decimal, Int32)

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

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)

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)

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

반올림할 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.

예제

다음 예제에서는 100과 102 사이의 Decimal 값 범위를 가장 가까운 정수로 반올림 합니다.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. MidpointRounding.ToEvenmode 인수를 사용 하 여 Round(Decimal, MidpointRounding) 메서드를 호출 하는 것과 같습니다.It is equivalent to calling the Round(Decimal, MidpointRounding) method with a mode argument of MidpointRounding.ToEven.

추가 정보

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

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

decimals
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.

예제

다음 예제에서는 Round 메서드를 사용 하 여 여러 개의 Decimal 값을 지정 된 소수 자릿수로 반올림 합니다.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

설명

이 메서드는 MidpointRounding.ToEvenmode 인수를 사용 하 여 Round(Decimal, Int32, MidpointRounding) 메서드를 호출 하는 것과 같습니다. d 두 반올림 된 값의 중간에 있는 경우 결과는 가장 오른쪽의 10 진수 위치에 짝수를 가진 반올림 된 값입니다.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)

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

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

mode
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.

예외

modeMidpointRounding 값이 아닙니다.mode is not a MidpointRounding value.

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

예제

다음 예제에서는 Round(Decimal) 메서드에서 반환 되는 값, ToEvenmode 인수를 사용 하는 Round(Decimal, MidpointRounding) 메서드 및 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)

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

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

decimals
Int32

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

mode
MidpointRounding

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

반환

전체 자릿수가 d 매개 변수와 같은, decimals 매개 변수에 가장 가까운 숫자입니다.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.

modeMidpointRounding 값이 아닙니다.mode is not a MidpointRounding value.

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

예제

다음 예제에서는 MidpointRounding 열거와 함께 Round(Decimal, Int32, 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.

추가 정보

적용 대상