에 반대의 BigDecimal. 캐스트를 사용하면 작동하지 않으며 나와 ClassCastException
을 제공합니다.변환 내가 JDBC를 연결 데이터베이스를 조회하고 double 값
이 오브젝트를 올바르게 캐스팅하는 방법에 대한 권장 사항은 무엇입니까?
답장을 보내 주셔서 감사합니다. 그것은 두에 인 BigDecimal를 변환 할 수 있도록
에 반대의 BigDecimal. 캐스트를 사용하면 작동하지 않으며 나와 ClassCastException
을 제공합니다.변환 내가 JDBC를 연결 데이터베이스를 조회하고 double 값
이 오브젝트를 올바르게 캐스팅하는 방법에 대한 권장 사항은 무엇입니까?
답장을 보내 주셔서 감사합니다. 그것은 두에 인 BigDecimal를 변환 할 수 있도록
result.setResultValueDouble(((BigDecimal)row.get("AMOUNT")).doubleValue());
개체의 유형을 변경하지 않는 개체에 캐스팅, 표현의 유형 당신은 BigDecimal를하기 때문에, 그것을 참조하는 데 사용 은입니다. 대신 BigDecimal의 doubleValue()
메서드를 호출하십시오.
BigDecimal.doubleValue()
방법을 사용할 수 있습니다.
public double doubleValue()
는이 BigDecimal를 double로 변환합니다. 이 변환은 Java ™ 언어 스펙의 5.1.3 절에 정의 된 double에서 float 로의 기본 변환을 축소하는 것과 유사합니다.이 BigDecimal의 절대 크기가 double보다 큰 경우 Double.NEGATIVE_INFINITY 또는 Double로 변환됩니다. .POSITIVE_INFINITY. 반환 값이 유한 일 경우에도이 변환은 BigDecimal 값의 정밀도에 대한 정보를 잃을 수 있습니다.
BigDecimal의 doubleValue()를 사용하십시오. BigDecimal 클래스에는 해당하는 double 값을 반환하는 doubleValue()가 있습니다. 그러나 정확도가 중요하다면 double 대 BigDecimal의 정밀도를 잃을 수도 있습니다.
result.setResultValueDouble(row.get("AMOUNT").doubleValue());
나는 물고기에 당신을 가르 칠 것 같아요 : doubleValue()
당신이 필요로하는 경우
이 방법에http://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html
이동, 하나는 두 배, 등 짜잔을 반환하는 확인 null을 처리하려면 다음과 같이해야 할 수도 있습니다.
BigDecimal amt = (BigDecimal)row.get("AMOUNT");
result.setResultValueDouble(amt != null ? amt.doubleValue() : 0.0)
당신은 정밀도를 잃을 것이다 두 배로 변환하고 싶습니까? – brso05