using System;

public class 반올림
{
    public static void Main()
    {
        double d = 1234.5678;
        Console.WriteLine( Math.Round(d, 2) ); // 1234.57
        Console.WriteLine( MyRound(d, 3) ); // 1234.568
        //double temp = (int)((d + 0.05) * 10) / 10.0; // xxx.x
        double temp = (int)((d + 0.005) * 100) / 100.0; // xxx.xx
        Console.WriteLine("{0}", temp );
    }

    /// <summary>
    /// 내가 만든 반올림 함수
    /// </summary>
    /// <param name="num">실수형</param>
    /// <param name="pos">자릿수 : 반올림되어질 자리</param>
    /// <returns>반올림된 수</returns>
    public static double MyRound(double num, int pos)
    {
        //[1]
        double result = 0.0;
        double half = 0.5;
        double factor = 1;
        //[2]
        for (int i = 0; i < pos; i++)
        {
            half *= 0.1;
            factor *= 10;
        }
        result = (int)((num + half) * factor) / (double)factor;
        //[3]
        return result;
    }

}

'.NET프로그래밍 > C# 3.5 SP1' 카테고리의 다른 글

35. 랜덤클래스  (0) 2009.08.07
34. 환경변수  (0) 2009.08.07
33. 수학관련함수  (0) 2009.08.07
32. 스트링포맷(String.Format)  (0) 2009.08.07
31. 파일명 추출  (0) 2009.08.07
Posted by holland14
: