在使用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();
這種方式可以完美解決科學計數法問題 與小數點的問題 精度也不會丟失。