posted by 준치 2009. 3. 11. 01:59
수치 소수점 이하 값을 버리려면 Math클래스의 정적 메소드 Floor를 사용하고 반올림할 경우에는 Ceiling을 사용합니다. 즉, Floor는 마지막 수가 작은 값이면 잘라버리고 Ceiling은 보다 큰 값이면 반올림한다는 것입니다.

사용방법은 아래와 같습니다.

   Math.Floor(Decimal)
   Math.Ceiling(Decimal)

파라미터에 Decimal형을 사용하는데 이는 .NET Framework 2.0이후부터 지원하게 되었고 Double형도 사용할 수 있습니다.

using System;
using System.Collections.Generic;
using System.Text;

namespace Math1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Math메소드로 소수점 처리 방법");
            decimal pf = Math.Floor(1.7m);
            Console.WriteLine(pf);

            decimal pc = Math.Ceiling(1.7m);
            Console.WriteLine(pc);
        }
    }


<결과>
Math메소드로 소수점 처리 방법
1
2

[참고] 소수점 2자리단위로 정리하고 싶은 경우

using System;
using System.Collections.Generic;
using System.Text;

namespace Math2
{
    class Program
    {
        static void Main(string[] args)
        {
            decimal v = 1.34m;

            v *= 10;
            Console.WriteLine("1.34m *= 10 = {0}", v);

            v = Math.Floor(v);
            v /= 10;
            Console.WriteLine("Result = {0}", v);
        }
    }


출처 : http://www.01kim.kr/bbs/cstips/page/3