C#

32.C# - Math.Round 메서드 사용 예제

Godffs 2009. 8. 7. 19:47
반응형
값을 가장 가까운 정수나 지정된 소수 자릿수로 반올림 하는 예제입니다.
using System;

public class 반올림
{
    public static void Main()
    {
        double d = 1234.5678;
        Console.WriteLine(Math.Round(d,2)); //1234.57
        Console.WriteLine();
        Console.WriteLine(MyRound(d, 2)); //1234.57
        Console.WriteLine();
        double temp = (int)((d + 0.005)*10)/100.0; //XXX.XX
        Console.WriteLine("{0}",temp);
       
    }   
   
    //정수형으로 자리수 포지션을 잡아서 반올림
    public static double MyRound(double num, int pos)
    {
        double result = 0.0;
        double half = 0.5;
        double factor = 1;

        for (int i = 0; i < pos; i++)
        {
            half *= 0.1;
            factor *= 10;
        }
            result = (int)((num+half)*factor) / (double)factor;
            return result;
    }
}
반응형