수학관련함수예제 - ROUND(반올림)함수
.NET프로그래밍/C# 3.5 SP1 2009. 8. 7. 12:01 |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 |