有的时候,系统需要从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);
就是也是一种解决办法。