2011-01-20 48 views
8

從控制檯的Excel表格中使用poi(2.5)打印一個大於7位的數字,同時檢索它以大數字的指數格式給出的值。如何使用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; 
} 

它是爲它的數字比7eg更大的數字給出的值。(12345678)在exponential.Canü幫助我獲得相同的格式值。

回答

5

我會使用DecimalFormat的實例。

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

最簡單的方式是使用BigDecimal

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

在包org.apache.poi.ss.util是類NumberToTextConverter靜態構件toText,這可以幫助表示任何數量的值作爲字符串。例如:

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

P.S.我知道自問題提出的那一刻起,已經過去了近5年。但是,我希望我的決定能幫助某人