有的時候,系統需要從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);
就是也是一種解決辦法。