在 Java 中,我试图让 DecimalFormat 强制指数符号上的符号。当它是积极的我需要一个加号出现。从我所读到的内容来看,这似乎很简单,但对我自己来说,它总是会引发错误。我很欣赏可能有其他方法可以实现我的目标,但我想了解为什么在这种特定方法中会发生错误。
Double result = 123.456;
String sresult;
//This works
NumberFormat formatter = new DecimalFormat("0.00000E00");
sresult = formatter.format(result);
System.out.println(sresult); //1.23456E02
//This doesn't work
formatter = new DecimalFormat("0.00000E+00"); //Want to enforce the sign to appear
sresult = formatter.format(result);
System.out.println(sresult); //Expected 1.23456E+02 but error occurs
抛出的错误:
线程“主”java.lang.IllegalArgumentException 中的异常: 畸形指数模式“0.00000E+00” 在 java.text.DecimalFormat.applyPattern(未知来源) 在 java.text.DecimalFormat.(未知来源) 在 deccheck.main(deccheck.java:13)
我很欣赏任何见解。谢谢,马克