[C#] 특정 소수점 이하 올림, 버림 처리하기

728x90
반응형

 

System.Math 의 Round 메소드의 경우 기본적으로 소수점 이하 자리수를 파라메터로 제공을 하지만, 

올림 (Ceiling), 버림(Truncate) 메소드의 경우에는 제공을 하지 않습니다. 그렇기 때문에 해당 처리를 별도로 해줘야 하는데요. 

 

간단한 방법으로 특정 소수점 이하의 올림, 버림 처리를 할 수 있습니다. 

 

 


 

 

특정 소수점 올림

원하는 소수점까지의 표현을 위해 값을 곱해주고 나눠주는 방식으로 표현이 가능합니다. 

double value = 132.15469;

//	소수점 두자리 올림
Console.WriteLine($"Ceiling : {Math.Ceiling(value * 100) / 100}");

//	소수점 세자리 올림
Console.WriteLine($"Ceiling : {Math.Ceiling(value * 1000) / 1000}");


출력
132.16

132.155



원리
1. 132.15469 * 100 => 13215.469;
2. Ceiling(13215.469) => 13216;
3. 13216 / 100 => 132.16;

 

 

 

 

특정 소수점 버림

올림과 마찬가지 원리로, 원하는 소수점까지의 표현을 위해 값을 곱해주고 나눠주는 방식으로 표현이 가능합니다. 

double value = 132.15469;

//	소수점 두자리 버림
Console.WriteLine($"Ceiling : {Math.Truncate(value * 100) / 100}");

//	소수점 세자리 버림
Console.WriteLine($"Ceiling : {Math.Truncate(value * 1000) / 1000}");


출력
132.15

132.154



원리
1. 132.15469 * 100 => 13215.469;
2. Truncate(13215.469) => 13215;
3. 13215 / 100 => 132.15;

 

 

 

728x90