java中处理科学计数法问题
public class Test4 {
public static void main(String[] args) {
//测试7位
String num1="9999999";
Double numD1=new Double(num1);
System.out.println(numD1);
//测试8位
String num2="99999999";
Double numD2=new Double(num2);
System.out.println(numD2);
new Test4().show();
}
//分析:出现科学计数法的原因是将字符串或其他数据转化为一个超过某容量的数据时,就会触发科学计数法
//举例:long类型的大数据999999999999999999999转为double,就会自动变为科学计数法,String的超过7位的转double也会触发
//避免科学计数法方法
public void show(){
//思路:拿一个更大展示量的容器去接受数据,这里举例使用BigDecimal
BigDecimal bigDecimal=new BigDecimal("9999999999999");
System.out.println(bigDecimal);
Double num1=999999999999.123456;
System.out.println(num1);
System.out.println(new BigDecimal(num1.toString()));
System.out.println(new BigDecimal(num1+""));
}
}
