大数不以科学计数法表示


在java中对于double,如果数据较大的话(或很小的数,即位数较多),会被自动转化为科学计数法。现在我们有几个方法可以让double数据保持一般的形式####

例如:###

      double d = 123456789.123456;
       System.out.println(d);

输出结果为1.23456789123456E8
我们期望的结果应该是123456789.123456


Method 1###

以格式方式输出

      double d = 123456789.123456;
       System.out.println(d);
       DecimalFormat decimalFormat = new DecimalFormat("#,##0.00");
       System.out.println(decimalFormat.format(d));  

Method 2###

使用BigDecimal

      double d = 123456789.123456;
       BigDecimal val=new nextBigDecimal(d);
       System.out.println(val.toPlainString());  

BigDecimal 还自带了stripTrailingZeros去掉末尾的0


你可能感兴趣的:(大数不以科学计数法表示)