2014-12-04 4 views
1

Excel 시트를 읽고 HSSF를 사용하고 싶습니다.HSSFCell은 정수를 Double로 변환합니다.

예를 들어 행의 내용은 다음과 같습니다

Cell0: Cell1: 
A23456 123 

가 지금은 "123"문자열로 셀 1을 읽고 싶어. HSSF는 123이 숫자 값임을 인식합니다 (getCellType은 CELL_TYPE_NUMERIC == 0을 반환합니다).

내가 toString (또는 getNumericCellValue)를 호출 그것이 doulbe의 표현을 모두 반환하는 경우 : 123.0

하지만은 소수점없이 정수를 갖고 싶어.

어쩌면 .. 나도 그들을 잘라 것입니다 ..

나는 떨어져 "0.0"를 잘라 String.substring 방법을 사용하지만, 문제는 내 엑셀 시트가 너무 "진짜 두 배"를 포함 할 수 있습니다 당신 이 "문제"를 해결하는 데 도움이 될 수 있습니다. 감사!

+0

가능한 중복 http://stackoverflow.com/ 질문/20430895/poi-reading-excel-string-as-numeric) – Gagravarr

답변

0

, 더블이있는 intValue() 메소드가 toString()를 호출하지 마십시오, 당신은이 작업을 수행 할 수 있습니다

Double d = 5.25; 
Integer i = d.intValue(); // i becomes 5 
([POI 읽기 숫자와 같은 문자열을 엑셀]의
+0

문제는 int에 "실제 double"을 자른다는 것입니다. 그러나이 경우에는 전 소수점뿐만 아니라 전체 double 값을 원합니다. 위치. 나는 spcific 셀 타입에 대한 사례 분석을해야한다고 생각합니다. :/toString이 정수를 double로 변환하기 때문입니다. – mrbela