在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
网友评论