2012-06-26 5 views
0

쿼리에서 소수 결과를 얻으려고 할 때 약간의 문제가 발생했습니다. 처음에는 두 개의 int 열이 있었고 목표는 10 진수 값을 반환하는 것이 었습니다. 그러나 내가 말했던 것에서는 소수 열은 두 열이 모두 float이고 Java의 메서드가 float 인 경우에만 반환 될 수 있습니다. 그렇지 않으면 결과를 반올림하거나 (Java에서 float를 반환하는 경우) 결과를 반환합니다. 소수점 이하 0에.정수를 10 진수로 변환 할 수 있습니까?

간단히 말해 진정한 십진수 값을 얻는 유일한 방법은 int가 아닌 두 개의 float 열을 사용하는 것입니까?

+0

왜 두 개의 열이 단일 값을 저장하는 것처럼 ::이 조각이 잘 실행

ResultSet rs = // resultset after a query execution if(rs.next()) { double v1 = (Double)rs.getDouble(1); int v2 = (Integer)rs.getInt(2); } 

.. 당신이 확인할 수 있습니까? – sudocode

+0

데이터베이스의 컬럼에'DECIMAL' 타입을 사용하십시오. – kapand

답변

0

사실이 아닙니다. 두 개의 int 열이있는 경우 (예 : 하나의 값을 다른 값으로 나눈 결과를 리턴하면, int로 반올림하지 않도록 적절한주의를 기울이면 결과는 십진수가 될 수 있습니다.

+0

죄송합니다, 죄송합니다.이 태그는 자바이지만 냄새가 SQL과 비슷합니다.) –

0

아니, 그 전혀 사실

관련 문제