将普通数字转化为科学计数法并显示为xx*10的多少次方
/**
* 将普通数值转化为科学计数法
* @param num
* @return
*/
public static String double2ScientificNotation(double num){
String str = String.format("%E", num);//获取直接格式化结果
str = str.replace("E-0", "E-");//将E-0处理为E-
str = str.replace("E+0", "E");//将E+0处理为E
//处理结果
String temp = str.substring(0,str.indexOf(".")+4);//前4位
//精确到小数点后三位
String f = String.format("%.3f", Double.parseDouble(temp));
str = f+str.substring(str.indexOf("E"));
return str;
}
/**
* 该方法用于将科学计数法重新格式化显示为xx*10的多少次方
* @param result
* @return
*/
public static String formatScientificNotation(String result){
int num = result.lastIndexOf("E")+1;//获取E的位置
String reString = result.substring(num);//E的后半截
String str =result.substring(0,num);//E的前半截
str = str.replace("E", "*10");
str = str+"<sup>"+reString+"</sup>";
//处理结果
return str;
}