2012-03-26 2 views
2

어떻게하면 가장 가까운 전체 값으로 반올림합니까? 예를BigDecimal을 가장 가까운 정수 값으로 반올림

1.2 --> 1 

1.5 --> 2 

1.6 --> 2. 

를 들어

나는

BigDecimal val = new BigDecimal(1.5); 
System.out.println(val.setScale(0, RoundingMode.HALF_UP)) 

을 시도하지만 예상대로이 아직도 날 1. NOT이 있습니다.

누구나 올바르게 이것을 수행하는 방법을 알고 있습니까?

감사

+4

[정확한 코드 출력 어디는

1

2

2

표시되지 않습니다 2 나를 위해 ideone] (http://ideone.com/AoQnQ), 거기에 당신이 잘못하고있는 다른 뭔가가 있어야합니다. – dasblinkenlight

+0

나를 위해 일하고 있습니다. – gorjusborg

+0

반올림하기 전에 소수점 이하 자릿수만큼 숫자에 10을 곱하십시오. 귀하의 예에서는 10을 곱합니다. 그러면 setScale에서 사용중인 숫자가 표시됩니다. –

답변

4
BigDecimal val = new BigDecimal(1.2); 
    System.out.println(val.setScale(0, RoundingMode.HALF_UP)); 
    val = new BigDecimal(1.5); 
    System.out.println(val.setScale(0, RoundingMode.HALF_UP)); 
    val = new BigDecimal(1.6); 
    System.out.println(val.setScale(0, RoundingMode.HALF_UP)); 

결과 : 문제가

+0

죄송합니다. 신경 쓰지 마세요. 문제는 다른 곳에서 발생했습니다. 그렇습니다.이 방법은 잘 작동합니다. –

관련 문제