import java.math.BigDecimal;
public class Test {
public static void main(String[] args) throws Exception
{
Test ts = new Test();
double test = ts.getTest(123.46666666, 2, "U"); // 입력값, 소수점 자리수, 변환타입
System.out.println(test);
}
// num : 입력값.
// size : 소수점 자리수.
// type : 변환 타입. (U-반올림, F-아무것도 안함, C-무조건 반올림, D-내림)
public double getTest(double num, int size, String type)
{
BigDecimal returnData = null;
if (type.equalsIgnoreCase("U")) {
returnData = new BigDecimal(num).setScale(size, BigDecimal.ROUND_HALF_UP);
} else if (type.equalsIgnoreCase("F")) {
returnData = new BigDecimal(num).setScale(size, BigDecimal.ROUND_FLOOR);
} else if (type.equalsIgnoreCase("C")) {
returnData = new BigDecimal(num).setScale(size, BigDecimal.ROUND_CEILING);
} else {
returnData = new BigDecimal(num).setScale(size, BigDecimal.ROUND_DOWN);
}
// double형으로 형변환.
return Double.parseDouble(returnData.toString());
}
}
'언어 > Java' 카테고리의 다른 글
[JAVA5.0] 삼항연산자 (0) | 2010.11.02 |
---|---|
new (0) | 2010.10.27 |
Thread 간단 tip (0) | 2009.09.29 |
[JAVA5.0] 열거형 상수, enum 사용( Enumeration ) (0) | 2009.03.24 |
[File] File 객체 생성하기. (2) | 2009.03.05 |