using System;
class MathTest1
{
static void Main(string[] args)
{
// 절대값
// 절대값이란, 수직선상에서 0으로부터의 거리입니다. 스칼라양이죠.
// 참고로 스칼라란 크기만 있는 값이고, 벡터는 크기와 방향이 있는 값입니다.
// 따라서, 절대값을 풀면 항상 양의 값만 나옵니다.
double d1 = -1.23;
double d2 = Math.Abs(d1);
Console.WriteLine("Math.Abs {0} => {1}", d1, d2); // Math.Abs -1.23 => 1.23
// 올림
d1 = 1.23;
d2 = Math.Ceiling(d1);
Console.WriteLine("Math.Ceiling {0} => {1}", d1, d2); // Math.Ceiling 1.23 => 2
d1 = -1.23;
d2 = Math.Ceiling(d1);
Console.WriteLine("Math.Ceiling {0} => {1}", d1, d2); // Math.Ceiling -1.23 => -1
// 내림
d1 = 1.23;
d2 = Math.Floor(d1);
Console.WriteLine("Math.Floor {0} => {1}", d1, d2); // Math.Floor 1.23 => 1
d1 = -1.23;
d2 = Math.Floor(d1);
Console.WriteLine("Math.Floor {0} => {1}", d1, d2); // Math.Floor -1.23 => -2
// 반올림
d1 = 1.23;
d2 = Math.Round(d1);
Console.WriteLine("Math.Floor {0} => {1}", d1, d2); // Math.Round 1.23 => 1
d1 = -1.23;
d2 = Math.Round(d1);
Console.WriteLine("Math.Floor {0} => {1}", d1, d2); // Math.Round -1.23 => -1
// 최대값
d1 = 1;
d2 = 2;
Console.WriteLine("Math.Max {0} , {1} Max {2}", d1, d2, Math.Max(d1, d2)); // Math.Max 1 , 2 Max 2
// 최소값
d1 = 1;
d2 = 2;
Console.WriteLine("Math.Min {0} , {1} Min {2}", d1, d2, Math.Min(d1, d2)); // Math.Min 1 , 2 Min 1
// power
d1 = 10;
d2 = Math.Pow(d1, 2);
Console.WriteLine("Math.Pow {0} => {1}", d1, d2); // Math.Pow 10 => 100
// 계산테스트
double a = 16666.67;
double b = 3333.33;
double c = a - b;
Console.WriteLine("{0}", c); // 결과 : 13333.34
// 표시는 13333.34 로 되지만 실제로 13333.34 값과 비교해 보면 "다르다" 라고 나온다.
if (c == 13333.34)
{
Console.WriteLine("같다");
}
else
{
Console.WriteLine("다르다"); // "다르다"
}
double d = 13333.339999999998;
Console.WriteLine("{0}", d); // 결과 : 13333.34
if (c == d)
{
Console.WriteLine("같다"); // "같다"
}
else
{
Console.WriteLine("다르다");
}
d = 13333.33999999999;
Console.WriteLine("{0}", d); // 결과 : 13333.34
if (c == d)
{
Console.WriteLine("같다");
}
else
{
Console.WriteLine("다르다"); // "다르다"
}
d = 13333.3399999999;
Console.WriteLine("{0}", d); // 결과 : 13333.3399999999
}
}
[출처] C# 수학함수|작성자 빨간토끼
댓글 없음 :
댓글 쓰기