关于java的DecimalFormat,使用DecimalFormat("#0.###E0")时为什么保留了四位小数

看了下网上对decimalformat的介绍,#0.###在需要显示的数字的小数位数大于三位时应该是保留三位小数才对,但是运行
DecimalFormat df1 = new DecimalFormat("#0.###E0");
System.out.println(df1.format(123.456));
时,得到的结果却是1.2346E2,想问一下原因。

DecimalFormat df1 = new DecimalFormat("#.###");
System.out.println(df1.format(123.456));
要想保留3位小数就这样写,你写的这个DecimalFormat df1 = new DecimalFormat("#0.###E0")是保留整数两位,小数保留3位用科学技术法表示
温馨提示:答案为网友推荐,仅供参考