import java.lang.Math; 를 하고.. 아, java.lang.* 은 import 할 필요가 없네요.. ㅋㅋ
Math.round(20.1) 은 20, Math.round(20.5) 는 21.. 이런식으로 return 값은 int 형.
그러면, Math.round() 를 이용해서 소숫점 반올림을 하려면..?
만약, 소수 3째 자리에서 반올림해서 소수 2째 자리 수치를 만들어야 한다면..
Math.round(20.445) 하면, 20 이라 나올테니까..
Math.round(20.445 * 100) 하면, 2045 이고 이걸 100으로 나누면 될텐데..
Math.round(20.445 * 100) /100 으로 할 때 정수끼리 연산이니까 20 이 된다..
나눌 수를 double 형으로 바꾸면 결과값도 double 이 되니까..
Math.round(20.445 * 100) / 100d 라고 하면 되겠지.. ㅋ
이걸 method 로 하려면..?
100 을 곱하고 100 으로 나누고를 표현해야 하는데, 이것은 Math.pow() 를 사용하자..
Math.pow() 는 double 형이니까 사용하기에도 딱이다.
그러면, 아래와 같이 되는데..
public double getRound(double a, int n){
return Math.round(a * Math.pow(10,n)) / Math.pow(10,n);
}
'Server Oriented > Java & JSP' 카테고리의 다른 글
JDK 옛날 버전 1.4.x 다운로드 (0) | 2015.07.08 |
---|---|
아파치 암호화 Codec, commons-codec (0) | 2015.07.02 |
multipart/form-data 관련 소고 (0) | 2015.02.09 |
웹페이지(HTML, JSP)를 PDF 파일로 저장 (0) | 2014.12.18 |
URLConnection 으로 외부 서비스 내용을 가져와서 ajax 나 include 에 사용 (0) | 2014.04.25 |