大数不以科学计数法表示


在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


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容