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)
洞察に感謝します。ありがとう、マーク