POI 讀取數值轉換問題

在使用POI過程讀取時,如果是cell 值是電話號碼 會轉變成科學計數法,在網上查詢發現使用

DecimalFormat format = new DecimalFormat("#");  
Number value = cell.getNumbericCellValue();  
String phone = format.format(numbr);  

這種方式可以將科學計數法轉成成數字,但是如果遇到不是科學計數法值而是小數點的時候,這種方式會丟失小數點後的值,所以放棄了,轉而使用BigDecimal來進行轉換

new BigDecimal(value).toString()

使用這種方式後發現可以解決 科學計數法問題 與小數點的問題,但是小數點也會丟失精度,然後繼續去研究了下BigDecimal的API 發現使用

BigDecimal.valueOf(cell.getNumericCellValue()).toString();

這種方式可以完美解決科學計數法問題 與小數點的問題 精度也不會丟失。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章