첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
유용한 소스 코드가 있으면 icodebroker@naver.com으로 보내주시면 감사합니다.
블로그 자료는 자유롭게 사용하세요.

■ Math 클래스 : 실수 올림/반올림/내림하기 예제

------------------------------------------------------------------------------------------------------------------------

using System;

 

double value = 4.5343;

 

double result1 = Round(value, 4, RoundType.Ceiling );

double result2 = Round(value, 4, RoundType.Round   );

double result3 = Round(value, 4, RoundType.Truncate);

 

Console.WriteLine($"값     : {value }");

Console.WriteLine($"올림   : {result1}");

Console.WriteLine($"반올림 : {result2}");

Console.WriteLine($"내림   : {result3}");

------------------------------------------------------------------------------------------------------------------------

 

■ Math 클래스 : 실수 올림/반올림/내림하기

------------------------------------------------------------------------------------------------------------------------

using System;

 

/// <summary>

/// 반올림 타입

/// </summary>

public enum RoundType

{

    /// <summary>

    /// 올림

    /// </summary>

    Ceiling,

 

    /// <summary>

    /// 반올림

    /// </summary>

    Round,

 

    /// <summary>

    /// 내림

    /// </summary>

    Truncate

}

 

#region 반올림하기 - Round(value, roundDigit, rountType)

 

/// <summary>

/// 반올림하기

/// </summary>

/// <param name="value"></param>

/// <param name="roundDigit">반올림 자리수</param>

/// <param name="rountType">반올림 타입</param>

/// <returns>반올림 결과</returns>

public double Round(double value, int roundDigit = 3, RoundType rountType = RoundType.Truncate)

{

    double temporaryValue = Math.Pow(10, roundDigit) / 10;

 

    double resultValue = Math.Truncate(value * temporaryValue) / temporaryValue;

 

    switch(rountType)

    {

        case RoundType.Ceiling  : resultValue = Math.Ceiling (value * temporaryValue) / temporaryValue; break;

        case RoundType.Round    : resultValue = Math.Round   (value * temporaryValue) / temporaryValue; break;

        case RoundType.Truncate : resultValue = Math.Truncate(value * temporaryValue) / temporaryValue; break;

    }

 

    return resultValue;

}

 

#endregion

------------------------------------------------------------------------------------------------------------------------

Posted by 사용자 icodebroker
TAG , ,

댓글을 달아 주세요