Java如何解決Excel導入文件時科學計數問題

       有的時候,系統需要從Excel導入數據,可是數據有時會自動轉成科學計數法,下面使用Java解決。

import java.text.*;

public class TestNum{

 public static void main(String[] args){
  TestNum is = new TestNum();
  is.test();
 }
 
 public void test(){
  double num = 1.11111111111111E+27;   
  System.out.println("num= "+num);
 
     NumberFormat formatter = NumberFormat.getNumberInstance();
     //設置小數位數,這裏我不需要,所以設置爲0
  formatter.setMaximumFractionDigits(0);
  String str = formatter.format(num);
  
  System.out.println("str= "+str);
  
  //通過分隔符","分隔
  String[] str2 = str.split(",");
  StringBuffer buffer = new StringBuffer();
  for(int i=0;i<str2.length;i++){
   buffer.append(str2[i]);
  }
  String result = buffer.toString();
  System.out.println("result= "+result);
 }
}

 

//文件輸入樣式

num= 1.11111111111111E27
str= 1,111,111,111,111,110,000,000,000,000
result= 1111111111111110000000000000
1.11111111111111E27

 -------------------------------------------------------

上面用的是一般的方法,如果確定輸入類型,比如你以double輸入,可以採用相對的子類,

NumberFormat df = new DecimalFormat("#0");
     String str3 = df.format(num);

就是也是一種解決辦法。

 

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