Double型的数值转换成字符串是:2.1316708702E8
是科学计数法
怎样得到具体的数值?谢谢!

解决方案 »

  1.   

    double d=2.1316708702E8;
            DecimalFormat format=new DecimalFormat();
            System.out.println(format.format(d));
      

  2.   

    double aa = 2.1316708702E8;
            BigDecimal b = new BigDecimal(aa);
            System.out.println(b.toString());
      

  3.   

    String a = String.valueOf(int b)
      

  4.   

    classjava(原始野人) 给的那段输出是213,167,087.02,应该可以改到不带逗号吧?
      

  5.   

    我认为这是数据格式的问题,是java自己定义的。当数据大于15位时,java会自动用科学技术法。楼上说的固然是一种方法,但是当数据大于17位时,这种方法就失效了,因为会自动在17位四舍五入。
      

  6.   

    import java.math.*;
    public class Test{
       public static void main(String args[]){
           double a =2.1316708702E8;
           BigDecimal b = new BigDecimal(a);
           System.out.println(b.toString());
       }
    }
      

  7.   

    转化成string 后,自己可以把逗号,拆掉.
      

  8.   

    double aa = 2.1316708702E8;
            BigDecimal b = new BigDecimal(aa);
            System.out.println(b.toString());
      

  9.   

    double b = 2.1316708702E8;
     DecimalFormat format=new DecimalFormat();
     format.setGroupingSize(0);
     System.out.println(format.format(b));