2011-01-20 10 views
8

podczas pobierania wartości, którą podaje w formacie wykładniczym dla dużych liczb.Jak wydrukować liczbę większą niż 7 cyfr przy użyciu poi (2.5) z arkusza Excela w konsoli przy użyciu java

while (cells.hasNext()) 
{ 
HSSFCell cell = cells.next(); 

System.out.println ("Cell No.: " + cell.getCellNum()); 

/* 
* Now we will get the cell type and display the values 
* accordingly. 
*/ 
switch (cell.getCellType()) 
{ 
case HSSFCell.CELL_TYPE_NUMERIC : 
{ 

    // cell type numeric. 
    System.out.println ("Numeric value: " + cell.getNumericCellValue()); 


    break; 
} 

to daje wartości dla liczb, których cyfry są większe niż 7EG. (12345678), jak w exponential.Can u mi pomóc uzyskać wartość w tym samym formacie.

Odpowiedz

5

Chciałbym użyć wystąpienia DecimalFormat.

DecimalFormat df = new DecimalFormat("#.00000000"); 
System.out.print(df.format(cell.getNumericCellValue())); 
5

Najprostszym sposobem jest użycie BigDecimal:

System.out.println("Numeric value: " + new BigDecimal(cell.getNumericCellValue())); 
0

W pakiecie org.apache.poi.ss.util jest klasa NumberToTextConverter z członka statycznego toText, które mogą przyczynić się do stanowią żadnej wartości liczbowej jako ciąg. Na przykład:

String value = NumberToTextConverter.toText(cell.getNumericCellValue()); 

P.S. Wiem, że od tego momentu, kiedy zadano pytanie, minęło prawie 5 lat. Niemniej jednak mam nadzieję, że moja decyzja pomoże komuś

Powiązane problemy