C#에서 Double 값을 정수 값으로 반올림

Muhammad Maisam Abbas 2023년10월12일
  1. C#에서Math.Ceiling()함수를 사용하여 Double 값을 정수 값으로 반올림
  2. C#에서Math.Floor()함수를 사용하여 Double 값을 정수 값으로 반올림
  3. C#에서Math.Round()함수를 사용하여 Double 값을 정수 값으로 반올림
C#에서 Double 값을 정수 값으로 반올림

이 자습서에서는 C#에서 double 값을 정수 값으로 반올림하는 방법에 대해 설명합니다.

C#에서Math.Ceiling()함수를 사용하여 Double 값을 정수 값으로 반올림

이중 값2.5를 정수 값3으로 반올림하려면Math.Ceiling()함수를 사용해야합니다. Math.Ceiling()함수는 10 진수 값을 다음 정수 값으로 반올림합니다. 다음 코드 예제는 C#에서Math.Ceiling()함수를 사용하여 double 값을 정수 값으로 반올림하는 방법을 보여줍니다.

using System;

namespace round_double_to_intt {
  class Program {
    static void Main(string[] args) {
      double d = 2.5;
      int i = (int)Math.Ceiling(d);
      Console.WriteLine("Original Value = {0}", d);
      Console.WriteLine("Rounded Value = {0}", i);
    }
  }
}

출력:

Original Value = 2.5
Rounded Value = 3

C#의Math.Ceiling()함수를 사용하여 이중 값2.5를 정수 값3으로 반올림했습니다. 이 접근법의 문제점은Math.Ceiling()함수가 10 진수 값2.3을 정수 값3으로 변환한다는 것입니다.

C#에서Math.Floor()함수를 사용하여 Double 값을 정수 값으로 반올림

double 값2.5를 정수 값2로 반올림하려면Math.Floor()함수를 사용해야합니다. Math.Floor()함수는 10 진수 값을 이전 정수 값으로 반올림합니다. 다음 코드 예제는 C#에서Math.Floor()함수를 사용하여 double 값을 정수 값으로 반올림하는 방법을 보여줍니다.

using System;

namespace round_double_to_intt {
  class Program {
    static void Main(string[] args) {
      double d = 2.5;
      int i = (int)Math.Floor(d);
      Console.WriteLine("Original Value = {0}", d);
      Console.WriteLine("Rounded Value = {0}", i);
    }
  }
}

출력:

Original Value = 2.5
Rounded Value = 2

C#의Math.Floor()함수를 사용하여 이중 값2.5를 정수 값2로 반올림했습니다. 이 방법의 문제점은Math.Floor()함수가 10 진수 값2.9를 정수 값2로 변환한다는 것입니다.

C#에서Math.Round()함수를 사용하여 Double 값을 정수 값으로 반올림

Math.Round()함수를 사용하여 double 값을 C#에서 가장 가까운 정수 값으로 반올림 할 수 있습니다. Math.Round()함수는 가장 가까운 정수로 반올림 된 double 값을 리턴합니다. 다음 코드 예제는 C#에서Math.Round()함수를 사용하여 double 값을 정수 값으로 반올림하는 방법을 보여줍니다.

using System;

namespace round_double_to_intt {
  class Program {
    static void Main(string[] args) {
      double d = 2.9;
      int i = (int)Math.Round(d);
      Console.WriteLine("Original Value = {0}", d);
      Console.WriteLine("Rounded Value = {0}", i);
    }
  }
}

출력:

Original Value = 2.9
Rounded Value = 3

C#의Math.Round()함수를 사용하여 10 진수 값2.9를 정수 값3으로 반올림했습니다. Math.Round()함수가 반환 한 double 값을 정수 값으로 변환하기 위해 typecasting을 사용했습니다. 이 접근 방식에는 단 하나의 문제가 있습니다. Math.Round()함수는 10 진수 값2.5를 정수 값2로 변환합니다.

Math.Round()함수의 인수에MidpointRounding.AwayFromZero를 지정하여이 문제를 해결할 수 있습니다. 다음 코드 예제는 C#에서Math.Round()함수를 사용하여2.53으로 반올림하는 방법을 보여줍니다.

using System;

namespace round_double_to_intt {
  class Program {
    static void Main(string[] args) {
      double d = 2.5;
      int i = (int)Math.Round(d, MidpointRounding.AwayFromZero);
      Console.WriteLine("Original Value = {0}", d);
      Console.WriteLine("Rounded Value = {0}", i);
    }
  }
}

출력:

Original Value = 2.5
Rounded Value = 3

C#의Math.Round()함수에MidpointRounding.AwayFromZero매개 변수를 지정하여 10 진수 값2.5를 정수 값3으로 반올림했습니다.

위에서 설명한 모든 방법은 서로 다른 특정 시나리오에서 유용합니다. double 값을 정수 값으로 반올림하는 최악의 방법은 명시 적 유형 변환입니다. 이는 명시 적 형변환이 소수점 뒤의 모든 값을 무시하고 소수점 앞의 정수 값만 반환하기 때문입니다.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

관련 문장 - Csharp Double